react-native - que - react native wikipedia
Reaccionar nativo vs crear reaccionar aplicaciĆ³n nativa (3)
Creo que crear-reaccionar-nativo-aplicación es una buena manera de comenzar para que puedas concentrarte en la parte React
de reaccionar de forma nativa, especialmente si no estás familiarizado con React. Y cuando esté listo para hacer cosas con npm run eject
simplemente puede expulsar con npm run eject
Cuando comencé un nuevo proyecto con Reacción nativa a fines del año pasado, no había una aplicación crear-reaccionar-nativa y evalué la expo primero. No me gustó ya que no había una integración nativa fácil a menos que la expulses cuando estoy seguro de que necesitaremos una integración nativa. Por eso fui con vainilla a reaccionar nativo. También ya tenía experiencia con React en la web y con el desarrollo nativo de iOS y Android.
Quiero comenzar por reaccionar con el desarrollo de aplicaciones nativas y necesito ayuda para decidir qué camino debo seguir.
La pregunta principal es: ¿debo ir con reaccionar nativo o crear reaccionar aplicación nativa?
Por lo que entiendo, CRNA realmente reacciona de forma nativa utilizando el cliente y las herramientas de la expo, con un uso más cómodo (no se requiere una cuenta de desarrollo, etc.)
Puedo ver las ventajas de usar CRNA frente a reaccionar de forma nativa (no es necesario configurar dependencias, es más rápido comenzar con el desarrollo, no es necesario tener una cuenta de desarrollo de iPhone o xcode + combi para Android, etc.)
Sin embargo, como no todas las bibliotecas nativas están incluidas, me veo en la necesidad de exportar mi aplicación a un punto posterior de todos modos y seguir trabajando con xcode y Android Studio como antes.
Por lo tanto, si CRNA es solo una buena manera de comenzar con todo, entonces iré a la nativa de Vanilla de inmediato, ya que no veo ningún punto en una solución temporal.
Además, y tal vez pueda corregirme con esto, no me gusta la idea de tener solo otro envoltorio en la parte superior de mi aplicación, a menos que haya algunas ventajas más importantes que me perdí.
Entonces, ¿podría por favor compartir su opinión sobre esto? Si ha desarrollado aplicaciones con reacción nativa en el pasado, ¿qué camino eligió y qué camino tomará en el futuro? ¿Reaccionar nativo, CRNA o reaccionar nativo y entorno expo?
Gracias por adelantado.
Hola, también voy a compartir algo de mi experiencia sobre el tema.
Dado que tengo un fondo frontal y no estaba familiarizado con XCode o Android Studio, decidí comenzar el desarrollo de mi aplicación nativa desde CRNA.
De hecho, solo con un editor de texto, solo con javascript y utilizando componentes de expo SDK incorporados, pude implementar y publicar rápidamente en Play Store una aplicación bastante simple . Que me parece realmente increíble :)
Sin embargo, después de publicar la aplicación, me di cuenta de que hay algunos escollos que no pueden competir con aplicaciones Java rivales similares:
La OMI más grande es el tamaño del apk generado con el servicio exp
. Para la aplicación con solo 3 pantallas y no mucha lógica empresarial, 25 mb y aproximadamente 60 mb después de la instalación es realmente mucho. De acuerdo con los dispositivos de desarrollo de la expo, las aplicaciones más complejas serán aproximadamente del mismo tamaño o solo un poco más grandes debido a que la mayor parte del tamaño son las dependencias nativas y no el lado de javascript real. Pero esto sigue siendo un gran problema y probablemente tendré que eject
la aplicación para optimizar el tamaño de compilación
Por lo tanto, en general, CRNA es una manera excelente y rápida de comenzar y tener algo funcionando, pero aún antes de publicar la aplicación para los usuarios, no evitará configurar su compilación personalizada y todas las dependencias, como Android Studio.
TLDR
Si creas proyecto por create_react_native_app myproject
entonces contiene la configuración de la expo
(no recomendado)
Si creas proyecto por react-native myproject
luego su simple reacción nativa (recomendado para proyectos pequeños, medianos, grandes)
Nota : para usar el comando react-native
en la terminal use este enlace