¿Qué tal reaccionar de forma nativa?
React.native es actualmente la única solución móvil multiplataforma confiable y prometedora.
Ya existen muchas soluciones para dispositivos móviles multiplataforma. Xamarin, Cordova, PhoneGap basado en webView y una gran cantidad de soluciones de varias empresas emergentes. Son todos basura. La razón es simple: para lograr el objetivo de "escribir una vez y ejecutar en cualquier lugar", estas soluciones deben abstraer aún más los SDK de las dos plataformas principales (iOS y Android), lo que significa que solo pueden ser compatibles con todo en las dos plataformas, el resultado es que la aplicación escrita sólo puede lograr la experiencia de usuario más mediocre. Especialmente Xamarin de Microsoft, que ni siquiera puede manejar su propio Windows Phone, pero también incluye los SDK de Apple y Google. ¿Cómo puede ser mejor? Sin mencionar la solución basada en web, que es esencialmente un shell de HTML y algunos complementos escritos de forma nativa.
La brillantez de React.native es que no se dedica a escribir una vez y ejecutarlo en todas partes, sino que abandona el objetivo poco realista de que todo el código sea multiplataforma. El objetivo de RN es muy práctico: utilizar el mismo lenguaje (Javascript), la misma arquitectura de alto nivel (Virtual DOM) y patrones de diseño (basados en componentes) para crear la mejor experiencia de usuario para diferentes plataformas. Éste es el significado de la palabra "nativo" en RN.
En el desarrollo real, para lograr la mejor experiencia de usuario, el código de la interfaz de usuario debe escribirse por separado para iOS y Android. De hecho, RN también lo fomenta. Android es Android, iOS es iOS y la web es la web. Los tres tienen diferentes idiomas de interfaz y hábitos de usuario. Pero a excepción de la interfaz de usuario, la lógica empresarial, los objetos de datos, las llamadas web, etc. pueden ser los mismos. Junto con el uso del mismo lenguaje y patrones de diseño, RN es muy competitivo en términos de productividad. Por otro lado, el patrón de diseño Flux a su vez ha sido aceptado por la comunidad de desarrollo nativo. La biblioteca Redux tiene implementaciones nativas réplicas en Java y Swift, por lo que no es necesario usar RN para escribir aplicaciones, pero aún se puede aprender. del diseño usando el modelo React. El proyecto React ha tenido un impacto muy positivo en toda la comunidad de desarrollo, mucho más positivo que las tecnologías basura como PhoneGap que han generado una gran cantidad de codificadores de aplicaciones baratas.
Además, las bibliotecas de código abierto de Javascript puro también se pueden aplicar directamente a ReactJS/ReactNative, lo que mejora aún más la productividad.