AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Firemonkey vs. Xamarin

Ein Thema von lowmax_5 · begonnen am 17. Feb 2014 · letzter Beitrag vom 28. Jun 2017
 
jensw_2000
(Gast)

n/a Beiträge
 
#26

AW: Firemonkey vs. Xamarin

  Alt 18. Feb 2014, 18:02
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.

Geändert von jensw_2000 (18. Feb 2014 um 18:07 Uhr)
  Mit Zitat antworten Zitat
 


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 13:58 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