Tampoco quiero ocultar que React Native es un objetivo en rápido movimiento, tenemos
nuevas versiones que se publican casi todos los meses.
Se producen cambios importantes y, por supuesto, haré todo lo posible para mantener este curso actualizado
para informarle sobre los cambios y cómo ajustar su código, pero a veces, solo tiene que volver a
una aplicación que creó hace seis meses y tienes que cambiar algo allí porque algo cambió en
la última versión de React
Native y para continuar trabajando en tu aplicación, debes cambiar algo en el código que solía funcionar antes,
eso es
normal, eso sucederá,
no todos tiempo, no todos los meses, pero sucederá. También en React Native, normalmente tiene
una gran dependencia de los paquetes de terceros.
Ahora, lo bueno es que cuando trabajas con expo, eso es solo parcialmente cierto porque la expo ya es un
envoltorio con muchas características geniales incorporadas, por lo
tanto, tienes una gran dependencia de la expo cuando trabajas con eso, pero no tienes que
encuentre docenas de otros paquetes de terceros para acceder a la cámara, trabajar con Bluetooth o algo así.
Si está creando una aplicación React Native sin conexión, eso
sería diferente, solo hay un conjunto básico de características integradas en React Native y para la
mayoría de las cosas que desea agregar a su aplicación nativa, tendría que comunicarse con otros paquetes gestionados
por la comunidad para que funcionen
e incluso con expo, necesitaremos un par de paquetes de terceros para tener todo lo que queremos.
Y eso es algo que tienes, tienes esa dependencia y eso, por supuesto, significa que
si esos paquetes cambian o ya no se mantienen, tienes que encontrar alternativas o tienes que actualizar tu código, así
que eso es algo que también debes ser conciente de. Y React Native simplemente también tiene algunos errores, no
cruciales, puede
construir básicamente cualquier aplicación que desee con React Native, pero a veces, las cosas simplemente
no funcionan como esperaría que funcionen y necesita ser creativo, encontrar soluciones y
y en este curso también te mostraré algunas de estas cosas extrañas que React Native tiene, pero
en general, al crear aplicaciones React Native, debes estar dispuesto a mantenerte actualizado, a usar Google, a sumergirte
en debates sobre temas y simplemente probar cosas Con la exposición, tiene una experiencia de desarrollo bastante fluida, pero
aún así, el camino puede estar lleno de baches de vez en cuando. Ahora que todo puede sonar bastante mal, entonces ¿no deberías
haber aprendido React Native entonces? Bueno, echemos un vistazo a las alternativas.
Por supuesto, una alternativa siempre es crear aplicaciones nativas reales con el marco de Android para
Java o Kotlin o con Swift, ObjectiveC para iOS.
Puede hacerlo, pero por supuesto, el inconveniente es que tiene que aprender estos idiomas y la gran ventaja de trabajar
en un proyecto y compartir mucho código se perderá por completo. En las aplicaciones React Native, seguro, es probable
que necesite ajustar su código a la plataforma en la que se ejecuta de
vez en cuando, pero la gran mayoría de su base de código puede compartirse y reutilizarse sin ningún ajuste.
Si está utilizando los lenguajes de plataforma nativos, entonces definitivamente debe trabajar en dos proyectos totalmente diferentes
y no podrá reutilizar una gran cantidad de código. La alternativa también es crear una aplicación web progresiva, que
es
una aplicación web normal que utiliza algunas funciones que la hacen ver y sentirse como una aplicación móvil, pero no se
distribuye a través de las tiendas de aplicaciones y depende de que los usuarios usen un navegador que admita las funciones que está
utilizando y, si ese no es el caso, su aplicación no funciona tan bien.
La tercera alternativa es que use Ionic o una solución similar, Ionic es una herramienta o un marco que le permite crear aplicaciones nativas reales que distribuye a
través de las tiendas de aplicaciones con tecnologías web. Al final, Ionic toma una aplicación web normal
y la envuelve en una aplicación nativa, por lo que no compila nada, solo la envuelve y ese
es un buen enfoque, me gusta Ionic en realidad y
puede ser perfecto para muchas aplicaciones pero, por supuesto, un posible inconveniente es que el rendimiento puede ser
peor porque solo tiene una aplicación web ajustada, no tiene una aplicación
nativa compilada y eso es algo que sí tiene con React Native, por supuesto, y dado que en
general tenemos herramientas y podemos adquirir conocimiento que a veces nos ayuda a superar los desafíos que React Native
plantea, React Native es una forma increíble de crear aplicaciones nativas. Puedes compartir un código, obtienes un gran rendimiento, puedes
distribuirlo a través de las tiendas de aplicaciones, eso es bastante bueno.
Ahora una nota al margen, también tienes alternativas como Flutter o Native Script, esas alternativas siguen un enfoque
similar al de React Native, obtienes una aplicación compilada allí, simplemente usan diferentes lenguajes de programación,
diferentes marcos y adjuntos, encontrarás un enlace a un video de comparación donde comparo todas estas alternativas
en caso de que esté interesado en profundizar un poco más sobre ese tema allí.