Delphi-PRAXiS
Seite 2 von 15     12 3412     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Firemonkey vs. Xamarin (https://www.delphipraxis.net/179143-firemonkey-vs-xamarin.html)

jensw_2000 18. Feb 2014 18:02

AW: Firemonkey vs. Xamarin
 
Xamarin habe ich mir ehrlich gesagt nie wirklich angesehen, aber wenn ich richtig informiert bin, dann verwendet es .Net und MonoTouch für iOS und OSX Applikationen.
Ohne Frage ist MonoTouch eine oft benutzte und brauchbare Lösung, um auf der Zielplattform mit den nativen SDKs zu arbeiten. Es hat aber auch große Nachteile. Zum Beispiel erhöht sich der Lernaufwand, weil man zum einen versehen muss, wie die nativen SDKs ticken und zum anderen muss man zusätzlich die Besonderheiten der dazwischenliegenden Abstraktionsschicht zur Programmiersprache C# lernen.
Weiterhin sehe ich auch einen "zeitlichen Nachteil" bei Xamarin, der dadurch entsteht, dass man bei iOS/OSX SDK bzw. MonoTouch Updates immer auf ein Xamarin Update warten muss, bevor man wirklich loslegen kann. Ebenfalls kann man nicht direkt ObjC Code anschauen und den äquivalenten C# Code dafür eintippen. Weil Standard C# u.a. keine Unterstützung für die ObjC Multipart Methodnames bietet. Man muss also immer umdenken.
In allen diesen Beziehungen ist Oxygene, dass ich seit iOS6 benutze, klar im Vorteil. Oxygene kompiliert direkt gegen die ObjC Runtime und arbeitet direkt mit den ObjC Klassen und iOS/OSX SDK's. Wenn etwas Neues kommt (im meinem Fall waren es iOS6.x /iOS7) dann braucht man "theoretisch" nur noch die neuen SDK Header in Oxygene importieren (das dauert 3 Minuten) und kann loslegen. Praktisch gab es bei der ersten iOS 7 Beta 2-3 Tage, die RemObjects gebraucht hat, um ein Fix für das neue Xcode 5 Storyboard Format bereitzustellen. Akzeptabel, wie ich finde.
Zudem kostet Oxygene nur einen Bruchteil von Xamarin, es unterstützt auch Java und das Android SDK (native Java ohne Framework Layer) und bietet zudem noch Sprachfeatures, bei denen alle anderen Sprachen deutlich hinterherhinken. Die Jungs von RO sind total engagiert dabei, dem Pre-Compiler alles beizubringen was er braucht, um das Beste aus allen Sprachen/Plattformen plattformübergreifend bereitzustellen (z.B. Properties und Delegates für Java, Linq Befehle für Objective C und Java, Multipart Methodnames für alle Plattformen, Simple Type boxing für ObjC, ...). Alles ist natürlich optional nutzbar.
Ich finde es einfach nur großartig.

Was das Lernen betrifft...
Ich bin auch ein altes Delphi Roß. Seit Delphi 3 habe ich mir zuvor keine andere Sprache angesehen.
Der Einstieg in die iOS Entwicklung war mit Oxygene aber wirklich leicht. Das liegt daran, dass fast alle iOS SDKs gleich aufgebaut sind. Es sind einfach fast immer Delegates und Protocols(Interfaces), in Kombination mit Befehlen die Dank der Multipart Methodnames wie ein Satz lesbar ( und damit weitestgehend selbsterklärend) sind.
Zum Start habe ich mir 10-20 "Frank Jüstel XCode Videos" auf Youtube angesehen. Danach hatte ich schon ein ziemlich gutes Gefühl dafür, wie Xcode mit den iOS SDKs zusammenarbeitet. Der Einstieg in Oxygene war Dank des vertrauten Pascals und der exakten Übereinstimmung der Methodennamen und Signaturen zu den iOS SDKs wirklich easy.
Natürlich lerne ich noch jeden Tags dazu und finde auch manchmal echte "iOS Brocken" (wie das Addressbook Framework) die mich erstmal erstmal wieder runterziehen, aber solche "Probleme" hätte ich mit anderen Entwicklungssystemen sicher auch gehabt.
Der Einstieg wird auch leichter durch den "Oxydizer" von Oxygene. Das ist ein Copy&Paste Tool, mit dem man Java-, Delphi, C# oder ObjC Code in die Zwischenablage kopieren und als Oxygene Pascal wieder pasten kann. Für ObjC ist der Teil zur Zeit nur in der Beta verfügbar, funktioniert aber schon recht gut und nimmt einem schon viel Übersetzungsarbeit ab.

creed steiger 18. Feb 2014 18:20

AW: Firemonkey vs. Xamarin
 
Qt wäre auch noch eine Option

http://blog.qt.digia.com/blog/2013/1...tores-with-qt/

pros:Qt gibts schon lange,genug Manpower,gutes Framework,dual licensing
cons:kein Pascal

daywalker9 18. Feb 2014 19:38

AW: Firemonkey vs. Xamarin
 
Zitat:

Zitat von jensw_2000 (Beitrag 1248409)
Weiterhin sehe ich auch einen "zeitlichen Nachteil" bei Xamarin, der dadurch entsteht, dass man bei iOS/OSX SDK bzw. MonoTouch Updates immer auf ein Xamarin Update warten muss, bevor man wirklich loslegen kann.

Das kann ich nicht bestätigen, kurz nach release einer Beta ist auch ein Update für Xamarin da. Mit Xamarin haben wir nur gute Erfahrungen gemacht!

jensw_2000 18. Feb 2014 19:44

AW: Firemonkey vs. Xamarin
 
Zitat:

Zitat von daywalker9 (Beitrag 1248425)
Zitat:

Zitat von jensw_2000 (Beitrag 1248409)
Weiterhin sehe ich auch einen "zeitlichen Nachteil" bei Xamarin, der dadurch entsteht, dass man bei iOS/OSX SDK bzw. MonoTouch Updates immer auf ein Xamarin Update warten muss, bevor man wirklich loslegen kann.

Das kann ich nicht bestätigen, kurz nach release einer Beta ist auch ein Update für Xamarin da. Mit Xamarin haben wir nur gute Erfahrungen gemacht!

Das kann sein, und ich möchte auch nichts anderes unterstellen. Wie gesagt, ich habe mir Xamarin nie persönlich angesehen.
Im RemObjects Talk wurde dieser Punkt durch andere Xamarin User als kleine Schwäche angemerkt.

vagtler 18. Feb 2014 20:01

AW: Firemonkey vs. Xamarin
 
Ich finde beide Ansätze - sowohl Xamarin als auch Oxygene - sehr interessant und betrachtenswert. Wir haben uns nach einer Evaluierungsphase für Xamarin entschieden, da wir hier mehr Know How in C# als in Object Pascal haben und nahezu ausschließlich unter Mac OS X entwickeln.

Letztendlich ist es halt auch eine Entscheidung unter strategischen und ökonomischen Gesichtspunkten und Oxygene halte ich ebenfalls für eine sehr gute Lösung.

Firemonkey nicht.

jensw_2000 18. Feb 2014 20:11

AW: Firemonkey vs. Xamarin
 
Zitat:

Zitat von vagtler (Beitrag 1248428)
Ich finde beide Ansätze - sowohl Xamarin als auch Oxygene - sehr interessant und betrachtenswert. Wir haben uns nach einer Evaluierungsphase für Xamarin entschieden, da wir hier mehr Know How in C# als in Object Pascal haben und nahezu ausschließlich unter Mac OS X entwickeln.

Letztendlich ist es halt auch eine Entscheidung unter strategischen und ökonomischen Gesichtspunkten und Oxygene halte ich ebenfalls für eine sehr gute Lösung.

Firemonkey nicht.

Das bringt es auf den Punkt. :thumb:
Alle Lösungen haben hier und da ihre Stärken, außer Eine. :wink:

Phoenix 18. Feb 2014 20:46

AW: Firemonkey vs. Xamarin
 
Zitat:

Zitat von vagtler (Beitrag 1248397)
Nebenbei bemerkt ist tatsächlich all unseren Delphi-Entwicklern der Wechsel auf C# wirklich sehr leicht gefallen und lässt sich wirklich in wenigen Tagen messen - zumindest was die Sprache als solches betrifft.

Dazu möchte ich noch kurz meinen Senf abgeben ;-)
Ich denke, das es Delphianern per se relativ einfach gelingt, sich in C# und das .NET Framework im allgemeinen einzuarbeiten. Delphi als Sprache, die RTL und VCL tragen alle noch immer die Handschrift von Anders Hejlsberg, genauso wie C#, die CLR / BCL und FCL. Und wenn man - bildlich gesprochen - Anders' Fußstapfen in Delphi kennt, dann weiss man auch, wo man in der .NET Welt nach dem nächsten Fußabdruck schauen muss, wenn man dort weiterkommen will. Die Ähnlichkeit ist unverkennbar da. Man muss nur mal ein bisschen hinter die Fassade schauen.

Buddelfish 18. Feb 2014 20:58

AW: Firemonkey vs. Xamarin
 
Na, und dann ist Delphi eine Programmiersprache und C# auch. Ich würde eher die vielen 'Aha! So einfach kann man das machen!' und 'Oh Mann, hab ich mir in Delphi dafür einen abgebrochen' Erlebnisse dazu zählen. Vor allen Dingen Linq, Expressions, diverse ORM etc.

Java ist natürlich Anders (Hejlsberg ;-) aber auch hübsch.

Aber klar: Buttons, Events, Formulare. Irgendwie kennt man das. Aber das ist WinForms und so ein wenig ist das wie die VCL.

Aber vielleicht hast Du Recht und die Tatsache, das man C# einfach einfacher findet, liegt an der Handschrift vom Hejlsberg, ohne das man das merkt. Wobei ich mich frage, wo die konkrete Handschrift ist? Die an Java angelegte Syntax kann es nicht sein, die .NET-API hat gar nichts mit der VCL zu tun, Linq ist kein Delphi, äh.. was bleibt denn?

So: Das war mein Senf.

Mr.Mobile 18. Feb 2014 22:11

AW: Firemonkey vs. Xamarin
 
Vorab: Ich kenne Firemonkey nicht, aber dafür Xamarin schon seit der Novell-Zeit und möchte meinen "Senf" dazu beitragen.

Wie schon erwähnt bin ich seit der ersten Stunde von MonoTouch und Mono4Android (heute: Xamarin.iOS und Xamarin.Android) dabei. Auf irgendwelche Updates warten muss man gar nicht, da Xamarin max. 24h nach der offiziellen Launch der Hersteller-SDK-Versionen Ihre Tools in den Stable-Channel nimmt. Davor sind diese entweder im Alpha oder Beta-Channel zu finden.

Des Weiteren sollte man nicht vergessen, dass Xamarin im Moment den gleichen gemeinsamen Nenner C# anbietet und somit Code Sharing von bis zu 80% Prozent über iOS, Android und Windows Phone ermöglicht. Klar sollte aber auch sein, dass die GUI immer redundant für alle Plattformen geschrieben werden muss. Wenn man es geschickt anstellt, kann man die UI sehr "dumm" halten und somit einen sehr gut wattbaren und Performance App entwickeln. Hierzu möchte ich noch dazu sagen, dass sowohl Xamarin.iOS und Xamarin.Android native Packages erzeugt und keine virtualisierte APK / IPA erstellt.

Alles was man mit Objective-C oder JAVA auf der jeweiligen Plattform machen kann, ist auch mit Xamarin zu 100% möglich. Auch das benutzen von schon vorhandenen nativen Controls / Libraries.

Ich selber benutze Xamarin.iOS und Xamarin.Android sehr erfolgreich in meinen Projekten, die nicht nur kleine beinhalten.

squetk 19. Feb 2014 09:46

AW: Firemonkey vs. Xamarin
 
Da sich die Kritik an FireMonkey scheinbar hauptsächlich an der Tatsache festmachen lässt, dass per default nicht die nativen Controls unterstützt werden:
Warum wäre von FM in der Kombination mit der Nutzung nativer Controls (z.B. von TMS o.ä.) abzuraten?

Mir geht es dabei nicht um die Entwicklung von Spiele-Apps sondern um Business-Apps. Auf den ersten Blick scheint Delphi mit FM dafür eine interessante Lösung zu sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:55 Uhr.
Seite 2 von 15     12 3412     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz