Se podría decir que hay alrededor de tres formas de crear
una aplicación React Native: una es con expo con el llamado flujo
de trabajo administrado, ese es el enfoque que utilizamos en el curso y tiene una línea discontinua alrededor
porque esto no es realmente una alternativa para crear una aplicación que no sea expo, esto, por supuesto,
abarca la
expo, es el enfoque que usamos en el curso. Es fácil de usar, tiene una configuración prácticamente nula, funciona
de inmediato, puedes probar fácilmente la aplicación en un dispositivo real, tienes muchos módulos nativos integrados que son muy fáciles de instalar y usar.
Se controla con la CLI de expo, solo escribe npm start o expo start, tiene las herramientas de desarrollo de
expo en el navegador, es fácil de ejecutar en simuladores y dispositivos reales y aún puede obtener una aplicación independiente que puede implementar, que como
expliqué contiene el cliente expo como envoltorio, por así decirlo. Dado que también puede probarlo fácilmente
en dispositivos reales, técnicamente ni siquiera necesita instalar Android Studio o
Xcode para crear una aplicación con expo. Lo instalé y te indiqué que también lo instalaras para este curso
para que pudiéramos activar simuladores y probarlo allí porque no quería probarlo constantemente en un dispositivo real y grabar
esa pantalla, pero no lo haces ' No es necesario que lo haga, puede probarlo en un dispositivo real
con la aplicación cliente expo instalada allí, así que eso es
algo que puede hacer. Ahora, este es
el enfoque que usamos, pero por supuesto, esta es una aplicación expo, es una aplicación
completamente en el ecosistema expo con todas las restricciones o desventajas que describí.
Ahora, una alternativa a eso es que todavía usa expo pero el llamado flujo de trabajo simple o
que construye una aplicación React Native sin expo con la CLI React Native.
Ahora, el flujo de trabajo desnudo de la exposición puede crearse desde cero o expulsándose del flujo de trabajo administrado y eso
es algo que también le mostraré en este módulo.
Ahora, cuando compila una aplicación con el flujo de trabajo simple, obtiene una aplicación que no es expo, crea una aplicación
nativa como la compilaría con React
Native CLI, por lo que obtiene la misma
base allí, la diferencia es que aún puede use paquetes especiales de exposición. Instalarlos es un poco más complejo que cuando está en
el flujo de trabajo administrado, necesita hacer más trabajo de cableado manual, al menos para algunos paquetes, pero
muchos, no todos sino muchos de los paquetes de expo que se incluyen en el flujo de trabajo administrado están disponibles como
paquetes independientes que puede llevar a cualquier aplicación React Native y el equipo de exposición
está trabajando para hacer que cada vez más paquetes estén disponibles fuera del flujo de trabajo administrado.
Por lo tanto, puede traer eso y con el flujo de trabajo simple, es relativamente fácil agregar estos paquetes, no tan fácil y rápido como en el
flujo de trabajo de administración, pero aún así, muy fácil. Al crear una aplicación sin expo en absoluto, con React
Native CLI, aún
puede traer estos paquetes, pero luego se requiere una configuración más manual. Ahora, como dije, es relativamente fácil de configurar y administrar
en el flujo de trabajo simple, tiene que administrar
más en el flujo de trabajo React Native
CLI, por lo que realmente puede construir todo sin ningún soporte por exposición. Con respecto a los módulos nativos que usa, puede usar cualquier
módulo nativo que desee, también los que no son de exposición, puede traer estos paquetes de exposición especiales
que necesita conectar manualmente, pero puede traer cualquier otro módulo nativo.
Ahora, cuando venimos a construir la aplicación y distribuirla, con el flujo de trabajo administrado
que verá en el módulo de implementación que es muy fácil de hacer, con el flujo de trabajo simple es un poco "más
difícil" entre comillas, requiere más trabajo con Android Studio y Xcode y no es tan fácil como con el flujo de trabajo administrado
de la expo, usted también, por ejemplo, y esa es una restricción importante, no podrá crear aplicaciones de iOS
en Windows.
Eso es posible en el flujo de trabajo administrado porque la compilación no ocurrirá en su máquina allí, sino
en la nube, con el flujo de trabajo simple y con la CLI React Native, usted es responsable de
construir las aplicaciones y, por lo tanto, debe hacerlo localmente en su máquina y, por lo tanto, debido a
las restricciones de Apple, no podrá crear una aplicación de iOS en Windows o Linux, por lo que
también es una cosa a tener en cuenta.
Entonces lo hace todo por su cuenta
allí, por lo que necesita estas herramientas instaladas y, aunque no las usará para escribir código, tendrá que manipularlas un
poco y las usará para luego construir su aplicación e implementar al final Estas son las
alternativas. Ahora para la implementación,
tendré un módulo separado en el que veré cómo funciona eso con el flujo de trabajo administrado y también sin
el flujo de trabajo administrado, por
lo que no es algo en lo que me centraré en
este módulo, sino en este módulo que quiero para mostrarle cómo compila una aplicación con React Native CLI, cómo también la
compila con expo en el flujo de trabajo simple y cómo puede expulsarlo del flujo de trabajo administrado al flujo
de trabajo simple.
También veremos cómo puede agregar algunas características nativas del dispositivo en estas dos alternativas porque esa es la parte
en la que en su mayoría difiere del flujo de trabajo administrado.
La forma en que escribe sus componentes, etc., y los componentes que usa de React Native, eso no difiere en
absoluto porque no había nada específico sobre la exposición en eso. En otras palabras, si echamos un vistazo
al proyecto en el que trabajamos anteriormente en el curso, este
proyecto de módulo nativo, esencialmente lo que perderá cuando no esté usando el flujo de trabajo administrado
es todas las importaciones relacionadas con la exposición, todo lo que estás importando desde
la expo, eso es básicamente algo que ahora es más difícil o que ahora debes hacer de manera diferente.
Si no usa expo como en este archivo, dicho archivo no necesitaría cambiar en absoluto, solo los
archivos en los que usa algo de expo deben ajustarse o implementarse de manera diferente cuando no usa
el flujo de trabajo administrado o preciso, es posible que ya no pueda usar ciertos paquetes o que todavía
pueda usarlos y que probablemente ni siquiera necesite tocar su código, pero para usarlos debe
hacer más trabajo de configuración manual del que necesita. hacer con expo y el flujo de
trabajo administrado.