Arquitectura nativa de React – [part one] | Por Salama Salem | febrero de 2022
reaccionar nativo es un marco de JavaScript para escribir aplicaciones móviles realistas y renderizadas de forma nativa para iOS y Android. Se basa en React, la biblioteca de JavaScript de Facebook para crear interfaces de usuario, pero en lugar de apuntar a los navegadores, se dirige a las plataformas móviles. En otras palabras: los desarrolladores web ahora pueden escribir aplicaciones móviles que se ven y se sienten verdaderamente «nativas», todas desde las bibliotecas de JavaScript que ya conocemos y amamos. Además, debido a que la mayor parte del código que escribe se puede compartir entre plataformas, React Native facilita el desarrollo tanto para Android como para iOS.
Dentro de Facebook, Jordan Walke encontró una forma de generar elementos de interfaz de usuario para iOS a partir de un subproceso de JavaScript en segundo plano, que se convirtió en la base del marco web React. Decidieron organizar un hackathon interno para refinar el prototipo y poder construir aplicaciones nativas utilizando esta tecnología.
En 2015, después de meses de desarrollo, Facebook lanzó la primera versión de la configuración de React JavaScript. En una charla técnica, Christopher Chedeau explicó que Facebook ya está usando React Native en producción para su aplicación Group App y Ads Manager App.
cuando entramosreact-native ios-android
o react-native run-ios
El empaquetador toma todo el código JS y lo coloca en un solo archivo: main.bundle.js
.
Espera, ¿qué es una empacadora?
El empaquetador nativo de reacción oficial es Metro.
subterraneo es un paquete de JavaScript. Toma un archivo de entrada y varias opciones y devuelve un archivo JavaScript que contiene todo el código y sus dependencias.
El dispositivo busca el punto de entrada nativo en el directorio android o ios del código fuente nativo de reacción y luego inicia la máquina virtual de JavaScript en un hilo donde nuestro main.bundle.js
se ejecutará.
Espere aquí, pero ¿cómo ejecuta una máquina virtual de JavaScript en un dispositivo móvil?
aquí tenemos un JavaScriptCore Una biblioteca que permite ejecutar código JavaScript en dispositivos IOS, en Android, el sistema operativo no proporciona este marco, por lo que se incluye con la aplicación, lo que hace que el tamaño de la aplicación sea un poco grande.
Subproceso nativo o (subproceso principal) Este es el subproceso principal de la aplicación en el que se ejecuta su aplicación de Android o iOS y es responsable de las interacciones y eventos nativos como Scroll.La comunicación entre el subproceso de interfaz de usuario nativo y el subproceso de JavaScript pasa el puente
El puente es responsable de transferir datos en forma de archivos JSON entre el subproceso de la interfaz de usuario nativa y la interfaz de usuario del paquete JS, los datos se serializan y deserializan en el puente para completar su camino, esta operación hace que el cambio nativo reaccione en el modo de tiempo y el rendimiento lento
Debajo del capó, el árbol de sombra se usa para crear el árbol de interfaz de usuario y
Use el motor de diseño de Yoga para obtener todos los estilos actuales basados en cajas flexibles y convertirlos al ancho, la altura y el espaciado del diseño nativo.
React native es una gran tecnología que permite a los desarrolladores de JavaScript ampliar sus capacidades en un entorno nativo, pero sigue siendo un poco lento en comparación con algunas plataformas híbridas como Flutter. Por lo tanto, react-native necesita ser rediseñado.