2015-05-05 10 views
22

Ich habe mir Xamarin Forms für den Aufbau einer Cross-Plattform-App angesehen. Wir möchten einen Rahmen, der auf iOS, Android und Windows Phone abzielt. Es scheint ein schönes Produkt zu sein, aber die Lizenzkosten können uns ein Problem mit unserem Geschäftsmodell verursachen und auch die Lizenzierung für Windows Phone Entwicklung ist unklar.React Native v Xamarin Forms - Auswahl der plattformübergreifenden App-Umgebung

Ich bin auf ein anderes Framework namens React Native gestoßen, das angeblich Cross-Plattform-Apps erstellen kann. Ich fragte mich, ob mir jemand eine Vorstellung von seinen Stärken und Schwächen geben könnte, insbesondere im Vergleich zu Xamarin Forms, wenn möglich. Eine Sache ist, dass es Javascript verwendet, das nicht gut skaliert werden kann (entweder in Bezug auf Codepflege oder Ausführungsleistung). Aber ich wäre dankbar für den Beitrag von jedem, der React näher betrachtet und sich objektive Meinungen über seine Nützlichkeit gebildet hat.

https://facebook.github.io/react-native/

Dank.

+1

Von dem, was ich gelesen habe Über die Reaktion nativ ist, dass es kein "Write once, run everywhere" Framework ist. Sie müssen also noch 2 Apps programmieren, aber Sie können die gleiche Sprache dafür verwenden und müssen nicht zwei lernen. Aber es sollte sich wie eine komplett native App anfühlen und schneller laufen als die anderen Cross Platform Frameworks. –

+0

Denken Sie auch daran, dass React Native für Android noch nicht verfügbar ist. Das Entwicklerteam erwähnte, dass es noch ~ 6 Monate dauern würde. – Lapixx

+1

Für jeden, der sich mit dieser Frage befasste, war Lapixxs Kommentar zu dem Zeitpunkt wahr, als er schrieb, aber ab September/2015 hat Facebook React Native aktualisiert, jetzt unterstützt es sowohl Android als auch iOS, für eine komplette Übersicht siehe meine Antwort. –

Antwort

19

Offenlegung: Ich bin kein Facebook- oder Microsoft-Mitarbeiter, ich bin nicht mit beiden Plattformen beteiligt, ich bin ein Web-Entwickler, der gerade angefangen hat zu lernen, wie man mit reagieren native.

reagieren nativen

von facebook gebaut und Open Source - derzeit (Stand: Oktober 2015) unterstützt iOS und Android nur. Es ähnelt Xamarin der Tatsache, dass die UI-Komponenten, die Sie erstellen, in native Komponenten konvertiert werden und NICHT innerhalb einer Webansicht ausgeführt werden, z. B. in anderen Frameworks (z. B. Cordova); Der Vorteil besteht darin, dass native Komponenten besser reagieren als Web-Komponenten.

Apps sollten in der Lage sein, den Geschäftslogikcode und die meisten UI-Komponenten zu teilen, aber da das Team hinter reactive native setzt, hat jede Plattform ihre eigene Schnittstelle, und Ihre App sollte dies berücksichtigen erlaubt und ermutigt Sie (es erzwingt Sie jedoch nicht) Ihre Benutzeroberfläche für jede Plattform zu schreiben. Der ganze Code wird in Javascript (nicht Java) geschrieben, läuft in einem nodejs-Prozess, mit der Benutzeroberfläche, die mit XML-Elementen beschrieben wird und mit einem Muster ähnlich dem von CSS entworfen, aber intern als Javascript geparst wird.

Ihre App wird in zwei Threads ausgeführt, dem Hauptthread, in dem die meisten Benutzeroberflächen ausgeführt werden, und dem Knoten "nodejs", in dem Ihre Geschäftslogik ausgeführt wird. Dies hat einige Auswirkungen, wenn Sie Ihre Anwendung erstellen.

Das Framework ist ausgereift genug für die Erstellung fertigungsreifer Anwendungen, aber die offiziell unterstützten plattformübergreifenden Komponenten müssen noch erweitert werden. Die Community baut auch großartige plattformübergreifende Komponenten auf, die Sie vielleicht verwenden möchten, die meisten, wenn nicht alle von ihnen kostenlos sind.

was ist das team hinter reaktion nativ arbeiten jetzt? (Bezogen auf die Gespräche, die ich Online gesehen haben):

  • den Workflow von Vermögenswerten Festsetzung - zur Zeit, wenn Sie eine Anlage ändern, zuerst müssen Sie es an einem anderen Ort zu tun, für jede Plattform unterstützt und um zu sehen, Die Änderung bei der Entwicklung müssen Sie die App neu kompilieren.
  • Erhöhung der Anzahl von reagieren nativen UI-Elemente (speziell für die Android-Plattform)

Zusammengefasst sind dies die Punkte, die Sie beachten müssen:

    Xamarin      React Native 

built by:  Xamarin      Facebook 
language   C#       Javascript (nodejs) 
age    mature      (prod ready), but not mature 
community:  good support    good support 
platforms  iOS, Android, Windows  iOS, Android 
cost    FREE (open sourced)   FREE (open sourced) 
+0

Seit wann ist Xamarin Microsoft? –

+0

@AlexeyZimarev - vielen Dank für den Hinweis auf meinen Fehler, obwohl Xamarin auf Microsoft-Technologie basiert und es eine gute Partnerschaft mit Microsoft hat, wurde es von unabhängigen Entwicklern entwickelt und Xamarin ist eine eigenständige Firma. –

+6

Update: Microsoft kaufte gerade Xamarin :) http://www.wired.com/2016/02/microsoft-expands-empire-beyond-windows-xamarin-buy/ – colares