AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Win32 oder .NET; VCL.NET oder WinForms ?

Ein Thema von tommikko · begonnen am 26. Mai 2006 · letzter Beitrag vom 30. Mai 2006
 
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Win32 oder .NET; VCL.NET oder WinForms ?

  Alt 29. Mai 2006, 21:55
Zitat von hanspeter:
Ich hatte das schon mal geschrieben. NET ist die Neuentwicklung der VCL ohne alte Zöpfe und mit einem moderneren Sprachkonzept.
...
Wer sich das Net-Framework anschaut sieht eigentlich deutlich das VCL und Net den gleichen Vater haben.
Schaut man in die Vergangenheit, so stagniert die Delphientwicklung eigentlich seit dem Ausscheiden von Anders Hejlsberg.
Dass Autos runde Räer haben ist keine Hommage an Eckbert, den trickreichen Nendertaler[1], es ist einfach ein Design, das sich praktisch aufdrängt.
Das gleiche gilt für BCL/FCL vs. Delphi RTL/VCL. Es gibt nunmal bestimmte Widgets in der Win32 API, und das ein Fenster einen Text, ListBox/ComboBox Strings als Items und ListView mehrere Spalten, Icons und Ansichten hat dürfte wohl auch schon jeder gemerkt haben.
Außerdem hat Hejlberg nach der VCL die MFC verbrochen, demnach...
Wo SWF/WPF und die VCL auseinandergehen ist die Architektur hinter dem "Drag'nDrop-uff'm Designer-Geklicke".
Die VCL steht technisch noch da wo sie in der Uraufführung stand: Sie ist immer noch nicht interface basiert.
SWF/WPF/ASPX teilen sich eine Menge Interfaces, die entweder den Designer (IExtenderProvider,IComponent,IContainer), oder das extrem mächtige und (mit krüppligen DataSets) oftmals extrem unterschätzte DataBinding aufmöbeln.
Für DataBinding gibt es Dinge wie
  • IEditableObject
  • IChangeTracking
  • ICancelAddNew
  • INotifyPropertyChange
  • IDataError
  • IBindableComponent
  • IListSource (sehr interessant für alle, die DataModules hinterhertrauern )
  • IBindinglist
Die Liste ist keinefalls vollständig sonder nur das womit ich oft zu tun habe.
Was ist an interface-basierter API anders?
Du kannst jede beliebige Klasse hernehmen und sie zu einer Komponente machen, die du auf einen Designer werfen kannst (auf alle 3 GUI Frameworks UND auf WebServices/WinServices/Komponenten).
Du kannst jede Klasse zu einer Datenquelle aufbohren, die ihrerseits mehrere Datenquellen veröffentlicht (IListSource) und du kannst die UI über Änderungen deiner Daten informieren (INotifyPropertyChange), Fehler direkt an Ort und Stelle melden (IDataError) oder auf ein [Esc] reagieren (ICancelAddNew/IEditableObject).
Wer in .Net noch irgendwelche ChangeEvents irgendwelcher Controls abfängt um sein Model mit dem View zu synchronisieren (und vice versa) hat entweder einen wirklich trifftigen Grund dafür oder er reduziert DataBinding auf "krüppelige DataSets"(TM).

Man darf aber auch nicht die Kehrseite der Medaille vergessen: SWF basiert auf GDI+.
GDI+ mag eine sehr mächtige und einfache API sein um schöne Dinge wie Gradienten, Transparenzen & Co auf den Schirm zu zaubern, ABER GDI+ hat fast keinen Hardware support.
Die Folge ist, dass man jedem SWF Fenster beinahe zusehen kann, wie es sich auf den Schirm zeichnet.[2]
Ehrlich gesagt bin ich deshalb fast jedesmal wenn ich eine meiner Apps öffne, ein kleines bisschen mehr angepisst...

Zitat:
Neben C# ist übrigens VB auch eine interessante Sprache.
Na pfui Deivel aber auch!
Zitat:
Sie hat nicht mehr viel mit der "alten Frickelsprache" VB gemeinsam.
Richtig, wenn man einer Sprache, die absolut ungeeignet für OO ist OO aufquetscht bekommt man eine "neue, bessere Frickelsprache". VB.Net gehört zu den widerlichten Dingen, die MS in den letzten 10 Jahren angestellt hat.
Dieses Biest unterläuft die statische Typensicherheit, die Pascalisti seit jeher zu schätzen wussten (und die seit C#/Java auch den c-ischen Sprachen zugute kommt) auf eine so kranke Weise, dass man ernsthaft am Geisteszustand der Erschaffer zweifeln muss.
In VbNet kannst du stets und ständig late binding benutzten. Wer den kleinen Fakt kennt, dass dynamic invokes so ziemlich das langsamste sind, dass .Net zu bieten hat, bekommt wohl jedesmal Panikzustände, wenn der den IL Code eine typischen Vb.Net-Fricklers lesen muss.

Es gibt für's VS zumindest eine weitere Sprache, die ich als sehr nett empfinde. Aber da muss ich wohl nicht genauer werden.

[1] ihr wisst schon, der der das Rad erfand...
[2]einfach mal ein Fenster vor einem SWF Fenster Fenster bewegen. Besonders krass wird's wenn du dort einen DataGridView hast.

puh.. genug philosülziert für heute....:tupid:
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz