¿Qué es React Native?
Por resumir, React native es una versión especial de React capaz de generar aplicaciones nativas para iOS y Android programadas con JavaScript. El objetivo de React Native es la construcción de interfaces que reaccionen dinámicamente cuando ocurra un cambio gracias al framework.
Hay que resaltar que el desarrollo no es 100% cross-platform ya que no todo el código sirve para iOS y Android (aunque gran parte si), como ocurre con otras opciones como por ejemplo Xamarin.
La diferencia frente a soluciones como PhoneGap es que React Native no es un WebView que usa el motor de Safari para renderizar la aplicación, es un motor que ejecuta JavaScript en un servicio que traduce en tiempo real nuestro código hacia componentes nativos.
Si se desea desarrollar una aplicación para iOS es necesario disponer de un equipo Apple y tener instalado XCode.
Instalación y ejemplo
Antes de comenzar con la instalación de React Native debemos tener instalado NodeJS y Watchman. Después instalaremos el Command Line Interface (CLI) de React Native ejecutando el comando npm install -g react-native-cli
.
Cuando haya finalizado la instalación, navegar al directorio donde deseamos tener los fuentes de nuestra aplicación y ejecutar react-native init KabelDemoNative
. Esto crea un proyecto base que contiene todo lo necesario para crear y ejecutar una aplicación React Native.
Si nos fijamos en las carpetas y archivos creados, vemos el directorio node_modules, que contiene el framework React Native, etc. También hay un fichero index.ios.js, que es la aplicación creada por el CLI. También hay un directorio iOS, que contiene un proyecto de Xcode y el mismo código necesario para arrancar la aplicación.
Ejecutamos react-native run-ios
y estaremos ejecutando por primera vez una aplicación React Native para iOS!
En posteriores artículos veremos más sobre React Native tanto para iOS como para Android, los componentes más interesantes, etc.
Mientras podéis ir codificando vuestro propio programa desde el fichero index.ios.js
Conclusión
Si vienes del mundo de la web, verás que es sencillo crear la interfaz, la navegación, etc. con JavaScript y React Native y obtendrás una interfaz de usuario totalmente nativa.
Si eres del mundo de las aplicaciones nativas, te harás una idea de los beneficios de React Native: desarrollos rápidos, ES6 y reglas de estilo similares a CSS, etc.
En cualquier caso, React Native tiene un futuro muy prometedor, una excelente comunidad y sobre todo el respaldo de una gran compañía como Facebook.