Antes que nada debemos saber que ReactJS es una librería que esta basada en JSX, que es un pseudo lenguaje que nos permite definir componentes HTML con una sintaxis parecida a la de Javascript. Su principal característica es actualizar las vistas para reflejar cambios de estado en los datos de la aplicación. Para esto ocupa un DOM virtual que aumenta la velocidad en la que se pueden modificar los elementos de la página. Ademas se pueden construir componentes encapsulados que gestionan su propio estado, para crear interfaces de usuario complejas.

Esta librería front-end desarrollada para el manejo de vistas de una aplicación, carece de controlador por lo cual es recomendable usar algún tipo de framework para trabajar en conjunto con React, por ejemplo jQuery. Algunas de las ventajas mas relevantes de usar ReactJS son mayor velocidad ya que el VirtualDOM mantiene en memoria el árbol de elementos de nuestra vista renderizada. Permitiendo así que cuando ocurra una interacción solamente se actualicen los componentes que se requieran. Así mismo mejora la UX de nuestros sitios web al ser manipulado el DOM en tiempo real sin la necesidad de recargar el sitio.

¿React para Móviles?

La presencia de cualquier negocio en el mundo mobile es tan importante como tener una web. Gracias a React Native podremos crear apps nativas para iOS y Android con relativa facilidad.

Sí, has leído bien, apps nativas usando Javascript, sin Objective-C o Java de por medio. ¿Pero dónde está el truco? React Native utiliza una especie de  “puente” cuya función es traducir el código React Native en Objective-C, para el caso de iOS, y Java en Android. Es algo casi mágico que permite a los programadores web poder desarrollar apps nativas sin tener que aprender nuevos lenguajes de programación muy específicos para cada una de las plataformas. Por si fuera poco, la sintaxis de React Native es bastante clara y sencilla, además de heredar el mismo diseño que React, aportando flexibilidad y reutilización de código.

Por último hay que mencionar que el código fuente que desarrollemos, en nuestra primera app, será un 100% compartido con iOS y Android. Esto quiere decir que el código Javascript que hagamos nos servirá tanto para la app en iOS como en Android. En pocas palabras React Native permite desarrollar la aplicación iOS y en pocas horas hacer el clon de la misma app en Android y viceversa, disminuyendo así el tiempo de desarrollo y permitiendo que las versiones de iOS y Android estén sincronizadas.

Esto hace que definitivamente antes de realizar tu MVP plantees la posibilidad de usar ReactJS como herramienta de desarrollo.