it-swarm.com.de

React Native: Welchen Navigator sollte ich verwenden?

Ich muss innerhalb von 3 Monaten eine relativ große plattformübergreifende Anwendung (iOS & Android) erstellen. 

Was React Native betrifft, habe ich bisher nur Erfahrung mit NavigatorIOS. Obwohl ich nie wirklich Probleme damit hatte, sehe ich nie Leute, die seine Verwendung empfehlen.

Die anderen Optionen sind Navigator, was einfach erscheint, aber möglicherweise keine Unterstützung für die native Benutzeroberfläche zulässt. und NavigatorExperimental, von der ich nichts weiß, und der Name allein macht mir Sorgen. Ich möchte keine Albträume in letzter Minute haben.

Ich habe vor, einen Monat damit zu verbringen, React Native gründlich zu lernen, und dann 2 Monate, um die Anwendung zu erstellen.

Dies führt mich zu meiner Frage: Wenn Sie in React Native eine plattformübergreifende Anwendung erstellen müssten, welche Navigation würden Sie für jede Plattform verwenden und warum?

Alle Antworten oder Tipps werden sehr geschätzt.

25
Apswak

Beantwortung meiner eigenen Frage, da ich einige Nachforschungen zu den verschiedenen Optionen durchgeführt und die wichtigsten selbst ausprobiert habe. Ich werde diese Antwort auf dem neuesten Stand halten. (Hinweis: Dies ist meine persönliche Meinung.)

NEW EDIT: Ab heute (07.03.2014) schlage ich vor, React Navigation v2 zu verwenden. Es ist die Community-Lösung, die von Facebook am stärksten vorangetrieben wird. Es ist alles andere als perfekt - ich finde es schwierig, loszulegen und die Dokumente sind meiner Meinung nach schrecklich, aber wenn es erst einmal eingerichtet ist, ist die Arbeit erledigt. 

Wenn dies für Sie nicht der Fall ist, ist reag-native-navigation von wix eine andere Alternative (leider nicht mit expo kompatibel). 



Halten Sie ein Auge auf native-nagivation von airbnb. Sie befinden sich seit einiger Zeit in der Beta-Phase, und in letzter Zeit wurde nicht viel auf das Projekt geschoben, daher würde ich immer noch React Navigation für prod vorschlagen. (Bearbeiten: Vermeiden - Dieses Projekt wurde gelöscht .)



ursprünglicher Beitrag unten: 

TLDR: Ab heute (13.01.2017) würde ich immer noch React Native Router Flux vorschlagen. Mit Ex-Navigation , durch Exponent eine großartige Alternative.

Ich habe RNRF für mein Projekt verwendet und es war bisher perfekt. Hervorragende Navbar- und Stack-Anpassung (was für mich eine große Sache war) und einfach in andere Pakete zu integrieren.


Längere Version: (Bearbeiten: jetzt veraltet)

Navigator : Zu vermeiden. Ohne auf die Details einzugehen, ist die Tatsache, dass Facebook es fallen gelassen hat und nicht länger aufrechterhält, für mich ein Grund genug, eine andere Navigation zu wählen.

NavigatorIOS : Wie der Name schon sagt, nur unter IOS verfügbar. Dies ist nicht besonders gut, wenn Sie sich für eine plattformübergreifende Anwendung entscheiden. Es gibt ein paar Unterschiede, wenn es um das Stapeln geht, was für mich das ganze 'einmal lernen, irgendwohin schreiben' Sache-FB geht. Wenn die Navigation Ihrer iOS-App nicht too zu kompliziert ist und Sie nicht zu viel Navbar-Anpassung suchen, ist dies eine ziemlich gute Wahl, die die native UIKit-Navigation nutzt Navigationsleiste mit einem Zurück-Button und Titel.

NavigationExperimental : Lassen Sie sich nicht von ihrem Namen abschrecken, so wie ich es war. NavigationExperimental hat viel Kontrolle über den Navigations-Stack und ermöglicht eine wesentlich einfachere Zustandsverwaltung. Mit Ausnahme von Bibliotheken von Drittanbietern können Sie zur Navigationsoption wechseln.

Ex-Navigation : Ich zitiere einfach Eric Vicenti von Facebook, der zum React Native-Team gehört:

Wenn Sie an einer zwingenden Vorgehensweise interessiert sind, können Sie Art von Methodenaufrufen zum Navigieren in der gesamten Anwendung in einer übrigens ähnlich dem vorherigen Navigator, dann würde ich definitiv empfehlen ExNavigation. Wir arbeiten relativ eng mit Exponent zusammen So werden diese Dinge nicht auf gefährliche Weise auseinandergehen.

React Router Native : Die Dokumente sagen alles. Ich kann nur sagen, wenn Sie an React Router gewöhnt sind, könnte dies für Sie sein.


Halten Sie ein Auge auf: Reagieren Sie native Navigation durch WIX . Sieht sehr anständig aus, aber ich habe es nicht ausprobiert, da es etwas hinter der latest -Version von React native (beim Schreiben dieser Antwort) liegt.


Interessante RN Nav liest:

React Native - Welchen Navigator sollte ich verwenden?

Erster Blick: Reaktiver Native Navigator Experimenteller Teil 1

24
Apswak

Sie können Ex-Navigation verwenden, das auf NavigationExperimental basiert und sowohl iOS als auch Android unterstützt. Außerdem verfügt es über ein Routennavigationssystem und unterstützt die Android-Zurück-Schaltfläche korrekt.

Wenn Sie weiterhin die Navigator-JavaScript-Komponente verwenden möchten, habe ich react-native-navigator-wrapper erstellt. Dies ist ein einfacher Wrapper für die Navigator-API, der die gängigsten Navigationsmuster wie Push, Pop und Modals unterstützt.

3
amb

Ich habe React-Native-Router-Flux verwendet und ist sehr flexibel. Sie können es überprüfen. 

2
Mnf Gl

React Navigation , ein neues Projekt in diesem Gebiet. Ich persönlich finde es besser als React Native Router Flux, der nicht mehr gewartet wird. 

React Navigation hat viele gute Funktionen mit angemessener Dokumentation. Die Popularität wächst schnell. AFAIK, die Entwickler der React-Kernentwickler-Community stehen hinter diesem Projekt. Schauen Sie sich das an, Sie werden es wahrscheinlich mögen.

BEARBEITEN: React Navigation ist jetzt eine offizielle Navigationsbibliothek.

2
Vinay

Jeden Tag kommen RN-Bibliotheken heraus. In einer ähnlichen Situation wie Sie heutzutage bleibt meine Wahl der Einfachheit halber beim Router-Flux, bis die native Wix Library neuere RN-Versionen unterstützt. (Wie ich mich erinnere, gibt es viele Probleme, bei denen die Beteiligung verschiedener Personen erwähnt wurde, daher ist es ziemlich aktiv.) .RN basiert auf Komponenten. Also nicht fixieren, wie Sie jetzt eine endgültige Entscheidung treffen :)

1
Arda Ilgaz

Ich habe immer nur React Router Native verwendet und hatte nie Probleme.

0
wulfhowel