¿Qué es React Native?
React Native es un framework de desarrollo diseñado por Facebook que permite crear aplicaciones nativas de Android e iOS utilizando JavaScript.
React Native es un framework de desarrollo de aplicaciones móviles nativas basadas en React creado por Facebook.
Permite crear aplicaciones nativas de Android e iOS utilizando JavaScript. Luego, React Native se encarga de convertir los elementos para renderizarlos con código nativo, ofreciendo una velocidad y optimización bastante buenas.
¿Por qué utilizar React Native?
Hay muchas razones para comenzar a utilizar React Native para las apps móviles. Entre ellas, destacaría las siguientes:
- Cross-Platform: Solamente escribes el código en JavaScript, y React Native se ejecutará perfectamente en ambas iOS y en Android de forma nativa.
- Base de código: Al ser una aplicación escrita en JavaScript, no habrá que implementar las funcionalidades en iOS y en Android por separado, sino que se implementarán conjuntamente desde React Native.
- Velocidad: La forma que tiene React de funcionar, combinado con la utilización de componentes nativos de cada sistema hace que la aplicación sea rápida y fluida, al contrario que con otros frameworks de creación de apps basadas en JavaScript.
- Combinable: No hace falta que la aplicación entera esté realizada en React Native. Puedes crear módulos en React Native e implementarlos en aplicaciones ya existentes.
Desventajas de React Native
Las desventajas que posee el uso de React Native no son distintas a las de otros frameworks de desarrollo en JavaScript:
- Código JS: Aunque utilice componentes nativos, muchas funcionalidades siguen estando implementadas en JavaScript, código que tiene que ser interpretado y que, queramos o no, será siempre más lento que el código compilado del sistema.
- Funcionalidades avanzadas: Como toda aplicación híbrida, nos vendrá genial para aplicaciones y funcionalidades que no requieran la personalización de los componentes nativos (por ejemplo, una cámara personalizada con efectos a tiempo real), o el uso de características como FaceID o el KeyChain de Apple, teniendo que apoyarnos en código nativo para hacerlo funcionar.