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)
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. –
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
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. –