style run react installdebug icon for failed change application app android reactjs react-native

run - React Native y Android?



react native rename package (7)

No tiene sentido tener una sola base de código si quieres una experiencia verdaderamente nativa. Por el momento, tenemos cosas como NavigatorIOS en React Native, que proporciona una interfaz de usuario de estilo iOS para navegar entre pantallas de aplicaciones, pero si solo comenzáramos a usar eso en Android, no sería una verdadera aplicación de Android.

Por lo tanto, esperaría ver un componente NavigatorAndroid o similar cuando llegue el momento, y lo mismo para otros componentes que se comportan de manera diferente entre las plataformas.

Una ventaja que obtendría es que cualquier lógica de aplicación, tal vez una tienda, o sus interacciones con el servidor, podría escribirse en un archivo JavaScript y luego incluirse tanto en iOS como en Android.

Por lo tanto, si bien no obtendrás esa experiencia de desarrollador de escritura única en todos lados de React Native, esperaría ver una solución que ofrezca una IU de primera clase en ambas plataformas, al tiempo que se fomente la mayor reutilización posible. Personalmente, también espero ver sólidas herramientas de desarrollo para ayudar a desarrollar y enviar en múltiples plataformas.

Estoy pensando en usar React Native para una nueva aplicación web. ¿Es posible enviar aplicaciones de iOS y Android que lo usen?

Sé que está en la hoja de ruta, pero no está claro si se tratará de un proyecto de código abierto separado (por ejemplo, React Android vs React Native) o solo uno (por ejemplo, React Native).


React Native está diseñado para que pueda implementar tanto en iOS como en Android. Hay una advertencia, por supuesto.

React Native ha sido compatible con iOS por mucho más tiempo, llegando a Android solo recientemente. Por lo tanto, existen algunas diferencias en términos de lo que se admite en cada plataforma.

Por ejemplo, si coloca bordes en Texto, aparecerán en iOS, pero no en Android. Para superar esto, debe colocar una Vista alrededor del Texto y aplicar un borde a eso. Afortunadamente, React Native facilita la integración de hojas de estilo separadas para cada plataforma (o incluso el estilo específico de la plataforma en una única hoja de estilo).

El soporte para Android evoluciona constantemente, por lo que solo será cuestión de tiempo antes de que React Native para Android esté a la par con iOS. Sin embargo, esto no debería disuadirte. En mi experiencia, es una gran manera de desarrollarse rápidamente para ambas plataformas, y me ahorra algunos dolores de cabeza.


React Native para Android acaba de ser lanzado, la carpeta de Android se creará junto con la carpeta de iOS al crear un nuevo proyecto.


Sí. Lo estamos ejecutando en producción con aproximadamente 5 millones de usuarios registrados.

Algunas cosas están un poco detrás de iOS, pero se están poniendo al día rápidamente. Es una buena carreta para estar en.


Solo otro consejo ya que se mencionó NavigatorIOS. Facebook no está realmente manteniendo el código para NavigatorIOS. En cambio, se están enfocando en Navigator.


no es necesario mantener el código base separado para Android y iOS. De hecho, puedes usar la misma base de código para construir Android y iOS. Recomiendo leer la documentation nativa de la reacción (de acuerdo con la versión nativa de la reacción que está utilizando) antes de usar cualquier componente incorporado en su código. Por ejemplo: - El componente TextInput función KeyPress solo admite ios.

si está utilizando lib externo, compruebe este soporte de lib para ios y android. De todos modos, tienes que configurar lib externo por separado (instalar) android y ios.

Espero que esto sea útil.


Puede apuntar a alrededor de 80 ~ 99 +% (dependiendo de la cantidad de vistas / módulos nativos de Android / iOS que use, por ejemplo. ¿Tiene código de gráficos personalizados o código de red TCP de bajo nivel? Estos solo se pueden hacer en código nativo; como API para su código JS. La cantidad del código JS específico de la plataforma es realmente mínima. Además, también puede usar la verificación de plataforma como if (Platform.OS === ''android''){} para resolver eso) de la reutilización de código, que es muy agradable Dropbox y otras compañías han hecho un proyecto similar: usar c ++ para construir un componente ''compartido'' entre iOS y Android, mientras implementan la mayoría del código de UI en iOS nativo (Objective-c o swift) y Android (java). Pero ahora estás haciendo C ++ con Java y ObjectiveC o Swift, más lenguaje para dominar, más complejidad y más jugo cerebral se fue por el desagüe. Y probablemente tomó un movimiento gimnástico súper difícil hacer que diferentes códigos nativos funcionaran tanto en iOS como en Android, además de la depuración ...

React Native hace que sea mucho más fácil escribir casi todo en JavaScript . Pero hay una trampa, solo alrededor del 80% del código JS podría ser compartido. En el futuro previsible, aún necesita escribir el código JS "específico de la plataforma" para la versión de Android e iOS.

Es por eso que FB dijo que apuntan a ''Aprender una vez, codificar en cualquier lugar '' en lugar de ''ejecutar'' en todas partes.

Pero sigue siendo muy bueno, aparte de la reutilización de código ( 80 +% de reutilización de código sigue siendo una gran mejora en comparación con el mantenimiento de 2 versiones completamente diferentes: Android y iOS ¿ya?)

Cmd + R para actualizar la aplicación es un GRAN impulso para la velocidad de desarrollo. Esperando un gran proyecto para compilar solo te hizo sentir que te estabas muriendo dentro ..

La interfaz de usuario declarativa se obtiene de forma gratuita, porque el uso de React. Esta es otra gran ventaja! Como ya no necesitas ''cavar'' en tu código de UI específico, eso ya es más. Datos cambiados? Simplemente "enjuague" y la interfaz de usuario simplemente actualice en consecuencia. No se desperdicia jugo cerebral.

Acabo de portar mi aplicación no tan complicada Android React Native a iOS . Y me tomó 3 días . La solicitud y la versión de iOS para la aplicación surgieron como un movimiento bastante abrupto y no planificado. Así que definitivamente podría ser incluso más rápido si hubiera construido Android con un plan para iOS también. Gran victoria :)

Otro gran beneficio es poder hacer push de código caliente sin pasar por el infernal proceso de revisión de la tienda de aplicaciones de 1 semana. Así que no más, "Sí, nuestra aplicación está aprobada. Liberemos. Oh Shiiit. Error crítico y nuestra aplicación sigue fallando (eso seguirá sucediendo durante al menos una semana antes de que tu corrección esté activa). Y tienes que pedirle a Apple que acelere. el proceso ". Esto es posible porque la mayor parte de la base de código se escribiría en JS y con herramientas como AppHub o CodePush , podría implementar código casi instantáneamente para sus usuarios. Esto es permitido condicionalmente por Apple.

3.3.2 Una aplicación no puede descargar o instalar código ejecutable. El código interpretado solo se puede usar en una Aplicación si todos los scripts, códigos e intérpretes están empaquetados en la Aplicación y no se descargan. La única excepción a lo anterior son los scripts y códigos descargados y ejecutados por el marco WebKit integrado de Apple, siempre que tales scripts y códigos no cambien el propósito principal de la Aplicación al proporcionar características o funcionalidades que son inconsistentes con el propósito deseado y anunciado. de la Aplicación tal como se envió a la App Store.

Por último, como proyecto de código abierto, la longevidad del proyecto tiende a ser una preocupación. No es un problema para React Native. Internamente utilizado por (FB Ads Manager) y respaldado por FB (una docena de FB Engineers?) Por Facebook, con cerca de 500 contribuidores y 25k Estrellas , React Native está lleno de vida. Ver para creer :) ( https://github.com/facebook/react-native )

EDITAR

Me di cuenta de que aparentemente soy un poco parcial y solo hablé sobre lo bueno de React Native. Así que haz checkout https://productpains.com/product/react-native/ y Github emite una imagen completa. Definitivamente no es una bala de plata . Una vez dicho esto, satisface la mayoría de mi caso de uso y no me veía usar iOS nativo o Android pronto.

EDITAR El lanzamiento de la aplicación de conferencia Facebook F8 por Facebook (duh ...) es 100% de código abierto y tienen un tutorial realmente bueno para mostrarle cómo puede tener experiencia nativa tanto en iOS como en Android (90% tan bueno como nativo), y al mismo tiempo, logró un 85% de reutilización del código. compruébalo -> https://makeitopen.com