Nach drei Tagen auf den Delphi-Tagen und einem Tag "herumspielen" mit Delphi XE2 muss ich sagen, daß ich begeistert von Firemonkey bin. Ein ganz neuer Ansatz mit vielen Vorteilen und Nachteilen.
Fange ich mal mit den Nachteilen an:
Propertys wurden teilweise geändet. Es gibt z.B. nicht mehr "Left" und "Right", sondern "Position.X" und "Position.Y". "Caption" wurde zum großen Teil durch "Text" ersetzt. Ein einfaches Umschalten von
VCL auf Firemonkey ist fast unmöglich. Auch wenn man ein Programm schreiben würde, welches die
DFM automatisch wandeln könnte, wird das bei Properties, die im Quellcode gesetzt werden nicht wirklich funktionieren.
Offiziel sollen
VCL-Formulare und FM-Formulare nicht gleichzeitig in einer Anwendung verwendet werden. Es gibt wohl schon einige User, die einen Mixbetrieb hinbekommen haben, wer weis aber, ob es nach einem Update von XE2 immer noch funktioniert. Daher ist ein Umstellen einer
VCL-Anwendung auf eine FM-Anwendung "zug um zug" nicht möglich. Eine Umstellung einer Anwendung mit vielen Forumularen ist fast unmöglich.
Properties sind teilweise nicht mehr existent. Es gibt kein Property "Color" oder "Font.Color" bei einem TEdit mehr. (Auch bei vielen weiteren Komponenten.) Ich habe z.B. häufig die Farbe eines TEdit auf Rot gesetzt, wenn eine Eingabe fehlt oder fehlerhaft ist. Geht nicht mehr. Zumindest nicht wie bisher.
Ich habe einige Darstellungsfehler gefunden. Mit diesen Fehlern kann man eine Anwendung nicht wirklich an Kunden verteilen. Denke daß diese Fehler mit den nächsten Updates behoben werden.
Vorteile:
Das Konzept: Es werden nicht mehr die Standardcontrols des BS verwendet. Das ist für eine Anwendung, die auf mehreren BS verwendet wird, wirklich gut. Kein QT wie bei Kylix.
Alles ist vektororientiert aufgbaut. Die Komponenten lassen sich wunderbar "zoomen". Kein verkorkstes Formular, wenn der Anwender den Bildschirm auf 120dpi statt auf 96dpi gesetzt hat.
Der Nachteil des fehlenden Color-Properties relativiert sich, wenn man mal die Styles anschaut. Die Style-Dateien sind Texte und können einfach erweitert werden (Mit dem Style-Editor habe ich das noch nicht hinbekommen). Den Style "editstyle" habe ich kopiert, eingefügt mit dem Namen "editstyleError" und bei der gewünschten Komponente dem Property "StyleLookup" den Wert "editstyleError" zugewiesen. Schon wird das Edit mit einer anderen Farbe angezeigt. Ich kann also in einer Stylevorlage diese Sachen definieren und der ganzen Anwendung zuweisen. Klasse. Entspricht quasi dem CSS-Prinzip von
HTML. Dies werde ich in einem witeren Thread noch mal genau erklären.
Jede visuelle Komponente kann weitere Komponenten beinhalten. Wie ein TPanel bei der
VCL. Finde ich eine gute Sache. Allerdings muss man beim Einfügen von Komponenten aufpassen. Schnell ist eine Komponente einer anderen Komponente zugewiesen.
Die Animationen, die man fast jeder Komponente zuweisen kann sind beeindrucken. Ob es sich nun um Größnanimantionen oder Farbanimationen handelt. Dezenzt verwendet, wird die Anwendung schon beeindruckend aufgepeppt.
So. Das war erst mal mein erster Eindruck.
Fazit: Von meinen Anwendungen werde ich die kleinen Anwendungen porrtieren und neue Anwendungen mit Firemonkey beginnen. Für meine große Anwendung mit 300 Formularen werde ich die Umstellung wahrscheinlich nicht durchführen.