24 votes

React Native : Quel navigateur dois-je utiliser ?

Je dois développer une application multiplateforme (iOS et Android) relativement importante dans un délai de 3 mois.

Jusqu'à présent, en ce qui concerne React Native, je n'ai d'expérience qu'avec NavigatorIOS . Bien que je n'aie jamais rencontré de problèmes avec ce système, je n'ai jamais vu de personnes recommander son utilisation.

Les autres options sont les suivantes Navigator qui semble assez simple mais qui ne permet peut-être pas une prise en charge de l'interface utilisateur native ? et NavigatorExperimental dont je ne sais rien et dont le nom seul m'inquiète. Je ne veux pas faire de cauchemars de dernière minute.

Je prévois de passer un mois à apprendre React Native à fond et ensuite 2 mois à construire l'application.

Cela m'amène à ma question : Si vous deviez construire une application multiplateforme en React Native, quelle navigation utiliseriez-vous pour chaque plateforme, et pourquoi ?

Toutes les réponses ou conseils sont les bienvenus.

23voto

Apswak Points 1196

Je réponds à ma propre question car j'ai fait pas mal de recherches sur les différentes options disponibles et j'ai essayé les principales d'entre elles moi-même. Je tiendrai cette réponse à jour. (Note : il s'agit de mon opinion personnelle).

NOUVELLE ÉDITION : À partir d'aujourd'hui (03/07/2018), je suggère d'utiliser React Navigation v2 . C'est la solution communautaire la plus poussée par Facebook. Elle est loin d'être parfaite - je trouve qu'elle est difficile à mettre en route et la documentation est, à mon avis, épouvantable, mais une fois qu'elle est installée, elle fait le travail.

Si cela ne vous convient pas, une autre solution s'offre à vous react-native-navigation par wix (non compatible avec expo malheureusement).



Gardez un œil sur native-nagivation par airbnb. Ils sont en beta depuis un moment et il n'y a pas eu beaucoup d'avancées sur le projet récemment, donc je suggérerais toujours React Navigation pour la prod. (edit : éviter - ce projet a été a chuté .)



le post original ci-dessous :

TLDR : Au jour d'aujourd'hui (13/01/2017), je suggère toujours fortement Flux de routeurs React Native . Avec ex-navigation , par Exposant est une excellente alternative.

J'utilise RNRF pour mon projet et c'est parfait jusqu'à présent. Superbe personnalisation de la barre de navigation et de la pile (ce qui était important pour moi) et facilité d'intégration avec d'autres logiciels.


Version longue : (edit : out of date now)

Navigateur : A éviter. Sans entrer dans les détails, le fait que Facebook l'ait abandonné et ne le maintienne plus est pour moi une raison suffisante pour choisir une autre navigation.

NavigateurIOS : Comme son nom l'indique, il n'est disponible que sur IOS, ce qui n'est pas idéal si vous souhaitez une application multiplateforme. Il y a quelques différences en ce qui concerne l'empilage, ce qui, à mon avis, est mieux que l'ensemble de la gamme. Apprendre une fois, écrire n'importe où que FB cherche à atteindre. Cela dit, si la navigation de votre application iOS n'est pas aussi compliqué, et que vous ne cherchez pas à trop personnaliser la barre de navigation, c'est un assez bon choix qui tire parti de la navigation native d'UIKit, ce qui rendra automatiquement une barre de navigation avec un bouton de retour et un titre.

NavigationExpérimental : Ne soyez pas effrayé par son nom comme je l'ai été. NavigationExperimental a beaucoup de contrôle sur la pile de navigation, et permet une gestion d'état beaucoup plus facile. A l'exception des bibliothèques tierces, c'est l'option de navigation par excellence.

Ex-Navigation : Je citerai Eric Vicenti de Facebook, qui fait partie de l'équipe React Native :

Si vous êtes intéressé par une approche plus impérative, dans laquelle vous pouvez faire des appels de méthode pour naviguer dans votre application d'une manière manière similaire au précédent Navigator, alors je recommanderais sans aucun doute recommander ExNavigation. Nous travaillons en étroite collaboration avec Exponent de sorte que ces choses ne vont pas diverger de manière dangereuse.

React Router Native : Les docteurs disent tout. Tout ce que je peux dire, c'est que si vous êtes habitué à React Router, cela pourrait être pour vous.


À surveiller : Navigation React Native par WIX . Il a l'air très décent mais je ne l'ai pas essayé car il est un peu en retard par rapport à la norme. le plus récent version de react native (au moment de la rédaction de cette réponse).


Des lectures intéressantes sur le RN Nav :

React Native - Quel navigateur dois-je utiliser ?

Premier regard : React Native Navigator Experimental Part 1

3voto

amb Points 1719

Vous pouvez utiliser Ex-Navigation qui est construit au-dessus de NavigationExperimental et supporte à la fois iOS et Android. De plus, il dispose d'un système de navigation par itinéraire et prend correctement en charge le bouton arrière d'Android.

Si vous souhaitez continuer à utiliser le Navigator JavaScript, j'ai construit react-native-navigator-wrapper qui est une simple enveloppe autour de la fonction Navigator API qui prend en charge les modèles de navigation les plus courants tels que push, pop et modals.

2voto

Mnf Gl Points 87

J'ai utilisé react-native-router-flux et il est très flexible. Vous pouvez le consulter.

2voto

Vinay Points 776

Navigation React Le projet de la Commission européenne, un nouveau projet dans ce territoire. Personnellement je le trouve meilleur que React Native Router Flux qui n'est plus maintenu.

Navigation React dispose de nombreuses fonctionnalités intéressantes et d'une documentation appropriée. Sa popularité augmente rapidement. AFAIK, les développeurs de la communauté React core sont derrière ce projet. Jetez-y un coup d'œil, vous l'aimerez probablement.

EDIT : React Navigation est maintenant la bibliothèque de navigation officielle.

1voto

Arda Ilgaz Points 40

Les bibliothèques RN sortent chaque jour. Dans une situation similaire à la vôtre ces jours-ci, mon choix se porte sur router-flux pour des raisons de simplicité jusqu'à ce que la bibliothèque native de wix commence à prendre en charge les nouvelles versions de RN. (Si je me souviens bien, il y a eu beaucoup de problèmes mentionnant l'implication de plusieurs personnes, donc c'est assez actif). RN est basé sur des composants, il est assez facile d'implémenter des changements en cours de route. RN est basé sur des composants, il est assez facile d'apporter des changements en cours de route. Donc ne vous fixez pas comme si vous deviez faire un choix définitif maintenant :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X