Einzelnen Beitrag anzeigen

jensw_2000
(Gast)

n/a Beiträge
 
#76

AW: Firemonkey vs. Xamarin

  Alt 24. Jun 2014, 12:58
Interessant wäre es noch zu wissen, ob es noch weitere Lösungen für die mobile Entwicklung gibt und dort schon entsprechende Erfahrungen gesammelt wurden.
Hier mal eine ganz kurze und hoffentlich wertungsfreie Zusammenfassung von mir:

FM:
- UI wird einmal entwicklelt und für alle unterstützten Plattformen ansatzweise passend gerendert
- durch das ständige rendern (OpenGL) hoher Akkuverbrauch und etwas zähere User Experience auf dem Device
- große Applikationsdateien, auch bei kleiner Funktionalität (Fokus: Ladezeit, Deployment)
- Plattform SDKs werden durch Wrapper gekapselt. Dadurch:
- kleine Lernkurve (aus Sicht des Delphi Entwicklers)
- Support und Beispiele "nur" aus Delphi Kreisen
- mühsames Herankommen an spezielle API Funktionen, u.U. viel Code Overhead durch "IfDefs"
- Businesslogic wird zentral für alle Plattformen entwickelt
- Sprachfeatures: wie "Delphi"
- IDE/Produktupdates: 1-2 mal pro Jahr
- unterstützt neben Windows: iOS, OSX, Android (ARM)

Oxygene / Remobjects C#:
- Arbeitet direkt mit den SDKs der Plattformen
- UI wird pro Plattform in einem separaten Projekt angelegt
- UI wird per Code oder über die UI Design Tools der entsprechenden Plattformen "gebaut"
- Businesslogic wird zentral für alle Plattformen entwickelt
- normaler Akkuverbrauch und normale User Experience auf dem Device (außer man programmiert Spiele )
- kleine Applikationsdateien, da direkt auf die "OnDevice" SDKs zugegriffen wird.

- Plattform SDKs werden direkt verwendet. Dadurch:
- sehr steile Lernkurve für jede Plattform, kaum Lernkurve in der Business Logic
- Support und Beispiele können aus jedem Kanal für jede Plattform gezogen werden (mit Ausnahme der reinen Sprachsyntax)
- direktes Herankommen an alle API Funktionen mit "plattformtypischen Methodensignaturen"

- Auf Wunsch können "Mapped Types" verwendet werden. Diese begradigen "intern" plattformspezifische Unterschiede zwischen den Basistypen. Zur Laufzeit werden dabei aber keine Wrapper verwendet, sondern direkt die Typen der jeweiligen Plattform.
- Sprachfeatures: großartig, mehr als jede hauseigene Plattformsprache "für sich" könnte
- IDE/Produktupdates: 4x mal pro Jahr oder wöchentlich per "Beta"
- unterstützt neben Windows: iOS, OSX, Java (allgemein überall), Android (Intel,ARM), Windows Phone und Windows Store Apps
- Cool: Remobjects C# Code kann mit Oxygene (Pascal) Code in einem Projekt gemischt werden (wenn man beide Lizenzen hat). Das erleichtert das schnelle Mitnehmen von altem Code und man kann die Stärken von Pascal und C# fallweise ausnutzen.

Xamarin (unvollständig, weil ich selbst damit nie gearbeitet habe):
- "MS" C# mit Wrappern zu den SDKs der Plattformen
- UI wird pro Plattform in einem separaten Projekt angelegt (?)
- Businesslogic wird zentral für alle Plattformen entwickelt
- normaler Akkuverbrauch und normale User Experience auf dem Device (außer man programmiert Spiele )
- größere Applikationsdateien, wegen der SDK Wrapper.
- steile Lernkurve für jede Plattform, kaum Lernkurve in der Business Logic
- Support und Beispiele können "fast" aus jedem Kanal für jede Plattform gezogen werden. Die C# Wrapper erfordern allerdings ein zusätzliches Umdenken bei der Syntax.


Vielleicht mögen die Xamariner, Lazarus User und FMXer hier bekannte Top/Flop Features ergänzen ...
  Mit Zitat antworten Zitat