Una charla sobre React Native que di el 23 de Marzo 2017 en el meetup ValenciaJS: https://www.meetup.com/es-ES/ValenciaJS/events/238249872/
En 2016 desarrollé durante seis meses una aplicación para React Native. En esta charla compartí todo lo que he aprendido sobre este framework, y cómo os puede servir para crear una app nativa para iOS y Android al mismo tiempo de manera rápida y ágil.
Hablé sobre la parte positiva, y las cosas que aceleraron nuestro proceso de desarrollo, pero también sobre algunos inconvenientes que hay que tener en cuenta. Se trata sobre todo de problemas muy específicos de cada plataforma, poner en marcha un flujo de integración continua y facilitar un proceso sencillo de testar la app con los usuarios.
React Native es una buena solución que está muy de moda pero esto no significa que hay que usarlo sin analizar bien las necesidades de tu proyecto. Presenté brevemente una alternativa (Ionic 2) y conté que ventajas tiene en comparación con React Native desde mi punto de vista.
6. Crea apps nativas con JavaScript y React
Aprender una vez, usar en ambas plataformas
Soporta código nativo donde es necesario
No es como Titanium, PhoneGap o Ionic 2
No usa el WebView como contenedor
No tienes que recompilar cada vez
15. Create React Native
$ npm i -g create-react-native-app
Expo Client
No necesitas xCode o Android Studio
Desarrollo para iOS en Windows/Linux
$ create-react-native-app my-project
$ cd my-project
$ npm start
34. No hay dimensiones porcentuales (sólo absolutas)
No existe una cascada de estilos
No hay componentes predefinidos
Usa Dimensions y Flexbox para todo
Utiliza estilos globales
Usa Pepperoni o NativeBase
67. React Native Ionic 2
Lenguaje React/JSX TypeScript/Angular 2
Plantillas JSX HTML
Hilos de ejecución 2 (UI + lógica) 1
Rendimiento Nativo WebView
Componentes predefinidos No Si
Plugins npm + Cordova Cordova
Soporte para Windows No Si
Soporte para escritorios No Si
GitHub stars 46.000 28.000
69. Mejor rendimiento gracias a código nativo
Mucha repercusión gracias a Facebook
React es cada vez más popular
Curva de aprendizaje muy larga
No hay componentes predefinidos
No hay soporte para Windows o web