android - programacion - Reaccionar nativo: ¿Qué navegador debo usar?
manual de programacion android pdf (7)
Tengo que crear una aplicación multiplataforma relativamente grande (iOS y Android) dentro de 3 meses.
Hasta ahora, cuando se trata de React Native, solo tengo experiencia con NavigatorIOS
. Ahora, mientras nunca me encontré con ningún problema con él, nunca veo a gente recomendando su uso.
Las otras opciones son Navigator
, que parece lo suficientemente simple pero ¿quizás no permita mucho soporte de UI nativo? y NavigatorExperimental
cual no sé nada, y el nombre solo me preocupa. No quiero tener pesadillas de último minuto.
Planeo pasar un mes aprendiendo React Native a fondo y luego 2 meses desarrollando la aplicación.
Esto me lleva a mi pregunta: si tuviera que crear una aplicación multiplataforma en React Native, ¿qué navegación usaría para cada plataforma y por qué?
Cualquier respuesta o consejo muy apreciado.
Hay un nuevo proyecto github.com/react-community/react-navigation para navegadores fáciles de usar. Facebook, Exponent y la comunidad React están detrás del proyecto.
He estado usando react-native-router-flux y es muy flexible. Puedes comprobarlo.
Las bibliotecas de RN están saliendo cada día. En una situación similar a la de usted en estos días, mi elección es seguir con el flujo del enrutador por simplicidad hasta que la biblioteca wix nativa comience a admitir las nuevas versiones de RN. (Como recuerdo, se han perdido algunos problemas que mencionan la participación de varias personas, por lo que es bastante activo) .RN se basa en componentes, es bastante fácil implementar cambios a lo largo del camino. Así que no te fijes como si tuvieras que hacer una elección definitiva ahora :)
Puede utilizar ex-navigation que se basa en NavigationExperimental
y es compatible con iOS y Android. Además, tiene un sistema de navegación de ruta y soporta correctamente el botón de retroceso de Android.
Si desea seguir utilizando el componente JavaScript de Navigator
, he creado react-native-navigator-wrapper
que es un envoltorio simple alrededor de la API de Navigator
que admite los patrones de navegación más comunes, como push, pop y modals.
Respondiendo a mi propia pregunta, ya que he investigado un poco las diferentes opciones y probé todas las principales. Mantendré esta respuesta actualizada. (Nota: esta es mi opinión personal.)
NUEVA EDICIÓN: A partir de hoy (03/07/2018) sugiero usar react-navigation . Es la solución de la comunidad siendo más empujada por Facebook. Está lejos de ser perfecto. Me resulta difícil ponerse en marcha y, en mi opinión, los documentos son terribles, pero una vez que están configurados se hace el trabajo.
Si no lo está haciendo por usted, otra alternativa es github.com/wix/react-native-navigation by wix (desafortunadamente no es compatible con expo).
Mantenga un ojo en native-nagivation por airbnb. Han estado en la versión beta por un tiempo y no se ha impulsado mucho al proyecto recientemente, así que todavía sugiero React Navigation for prod. (Editar: evitar - este proyecto ha sido dropped .)
post original a continuación:
TLDR: A partir de hoy (13/01/2017), aún sugeriría encarecidamente React Native Native Router Flux . Con ex-navigation , por Exponent ser una gran alternativa.
He estado usando RNRF para mi proyecto y ha sido perfecto hasta ahora. Excelente personalización de la barra de navegación y la pila (que fue una gran cosa para mí) y fácil de integrar con otros paquetes.
Versión más larga: (edición: desactualizada ahora)
Navigator : A evitarse. Sin entrar en detalles, el hecho de que Facebook lo haya abandonado y ya no lo mantenga es para mí, una razón suficiente para elegir otra navegación.
NavigatorIOS : como su nombre lo indica, solo está disponible en IOS, lo cual no es bueno si vas a una aplicación multiplataforma. Hay un par de diferencias cuando se trata de apilar, lo que para mí es mejor que "aprenda una vez, escriba en cualquier parte", lo que FB está buscando. Dicho esto, si la navegación de su aplicación iOS no es demasiado complicada, y no está buscando demasiada personalización de la barra de navegación, esta es una opción bastante buena que aprovecha la navegación nativa de UIKit, por lo que se mostrará automáticamente una barra de navegación con un botón de retroceso y título.
NavigationExperimental : No te asustes por su nombre como lo era yo. NavigationExperimental tiene mucho control sobre la pila de navegación y permite una administración del estado mucho más fácil. Excluyendo bibliotecas de terceros, esto es para ir a la opción de navegación.
ex-navigation : solo citaré a Eric Vicenti de Facebook, que está en el equipo React Native:
Si está interesado en un enfoque más imperativo, en el que pueda hacer llamadas de métodos para navegar a través de su aplicación de una manera similar a la del Navegador anterior, definitivamente recomendaría ExNavigation. Estamos trabajando relativamente de cerca con Exponent, por lo que estas cosas no van a divergir de manera peligrosa.
React Router Native : Los documentos lo dicen todo. Todo lo que puedo decir es que si estás acostumbrado a React Router, esto podría ser para ti.
Esté atento a: github.com/wix/react-native-navigation . Parece muy decente, pero no lo he intentado dado que está un poco por detrás de la latest versión de reaccion nativa (al escribir esta respuesta).
Interesante RN Nav lee:
Reaccionar nativo - ¿Qué navegador debo usar?
Primer vistazo: Reaccionar Native Navigator Parte 1 experimental
Solo he usado React Router Native y nunca he tenido ningún problema.
react-navigation , un nuevo proyecto en este territorio. Personalmente, lo encuentro mejor que Reactive Native Router Flux, que ya no se mantiene.
React Navigation tiene muchas características buenas con la documentación adecuada. Su popularidad está creciendo rápidamente. AFAIK, los chicos de la comunidad de desarrolladores de React están detrás de este proyecto. Mira esto, probablemente te va a gustar.
EDIT: React Navigation es ahora la biblioteca de navegación oficial.