Red de conocimiento informático - Conocimiento informático - Cómo evaluar React Native Android

Cómo evaluar React Native Android

Tom Occhino es miembro del proyecto React Native. Describe en detalle la filosofía de diseño de React Native en su libro "React Native: Bringing Modern Web Technologies to Mobile Devices". Occhino cree que todavía es necesario utilizar tecnología nativa en esta etapa, porque la experiencia del usuario de la red aún no puede superar la tecnología nativa:

1. Los controles nativos de Native tienen una mejor experiencia;

2.Native Tiene mejor reconocimiento de gestos;

3.Native tiene un modelo de subprocesos más apropiado, aunque Web Worker puede resolver algunos problemas, como la decodificación de imágenes.

Occhino no mencionó que Native puede lograr efectos de animación más ricos y delicados. Esto se atribuye al hecho de que Native tiene una mejor experiencia de interacción persona-computadora en esta etapa. Creo que estos ejemplos son persuasivos y son un resultado directo del surgimiento de React Native.

Figura 3: Occhino compartió React Native (discurso de apertura) en la conferencia F8

"Aprende una vez, escribe en cualquier lugar"

"Aprende una vez, escribe en cualquier lugar" También del artículo de Occhino. Debido a las diferentes experiencias de usuario en diferentes plataformas nativas, React Native no obliga a un único código nativo a admitir múltiples plataformas, por lo que propone "aprender una vez, escribir en cualquier lugar" en lugar de "escribir una vez, ejecutar en cualquier lugar" (Java).

Figura 4 - "Aprende una vez, escribe en cualquier lugar"

Esta imagen es un diagrama esquemático dibujado por el autor según su propio entendimiento, de abajo hacia arriba:

1.React: escriba código basado en React en diferentes plataformas. "Aprende una vez, escribe en cualquier lugar".

2. DOM virtual: en comparación con el DOM (modelo de objetos de documento) en el entorno del navegador, el DOM virtual es una representación liviana de DOM en la memoria (la palabra original es una representación liviana del documento). Puede ser utilizado por diferentes motores de renderizado, la interfaz de usuario en diferentes plataformas puede ser generada por diferentes motores de renderizado, JS y Native se comunican entre sí a través de Bridge (¿mecanismo de comunicación React Native? Blog de Bang).

3. Web/iOS/Android: Se han implementado las plataformas Web e iOS y se espera que la plataforma Android se implemente en octubre de 2015 (Blog | React).

React, mencionado en muchos lugares del artículo anterior, es un marco de desarrollo web de código abierto lanzado por Facebook en 2013. Cuando el autor estaba hojeando su versión de lanzamiento, encontré este párrafo:

Figura 5 - De la versión de lanzamiento de React (2013)

1 El texto resaltado muestra que el prototipo de React Native ya se estaba desarrollando en 2013, y ahora se considera que ha acumulado mucho. de experiencia.

2. Otro proyecto popular reciente es Flipboard/react-canvas - GitHub (ver @rank para más detalles), en el que la capa de presentación utiliza lienzo web para mejorar la fluidez de la interacción, que es similar a la primera vez arriba. Prueba algo como esto.

React en sí es un tema enorme, por lo que no entraré en detalles; consulte facebook/react Wiki - GitHub para obtener más detalles.

El autor cree que "escribir una vez y ejecutar en cualquier lugar" sigue siendo necesario para mejorar la eficiencia, que es similar a "aprender una vez y ejecutar en cualquier lugar".

No hay conflicto con "aprender una vez, escribir en cualquier lugar". Estamos transformando internamente la biblioteca de componentes existente y HybridAPI para adaptar (complementar) los componentes de React Native, a fin de escribir código que pueda ejecutarse en iOS y la Web, y luego abrir el código fuente. ¡Cuando esté maduro! Ábralo después de que madure.

Actualizaciones continuas...

II. Planificación

La siguiente figura muestra las modificaciones técnicas y comerciales de React Native:

Figura 6 - Modificaciones técnicas y comerciales

Imagen de arriba:

1. React Node: React admite la renderización del lado del servidor y generalmente se usa para escenarios de aplicaciones típicos de la primera pantalla; Hay muchas listas de páginas, representación del lado del servidor en la primera pantalla y representación del lado del cliente que cambia de página, lo que evita la necesidad de solicitar la página dos veces por primera vez (questions/23514579/javascriptcore-framework-availability-on-ios).

4. Los problemas de rendimiento de ListView requieren atención continua (¿ListView representará todas las filas? - Número 499 - facebook/react-native - GitHub)

React Native se compara con Webview y Las ventajas y desventajas de Native también se describen con más detalle en @berg, que puede consultarse.