Blog

Mi expereicia con React Native Blog

Mi expereicia con React Native
Tags: JavaScript ReactNative

Durante estos meses he decidido probar React Native, sin duda que me ha dejado una excelente impresión, en este post hablaré un poco de mi experiencia.

React Native nos permite desarrollar aplicaciones nativas con JavaScript, básicamente React Native nos permite hacer un puente entre JavaScript y los componentes nativos, exponiendo las APIs nativas y dandonos control sobre estos. No es lo mismo que Titanium o PhoneGap, realmente es una tecnología completamente diferente.

¿Es difícil iniciarte?

La curva de aprendizaje es corta, realmente son un par de conceptos que se deben conocer, en un par de horas fui capaz de comenzar a organizar y desarrollar una app sin ningún problema. Instalar el ambiente de desarrollo es muy sencillo ya que utiliza Node JS, así que con el NPM y Hombrew se instalan todas las dependencias, bastante cómodo realmente.

Lo que más me ha gustado de React Native es la rápides con la que puedes probar tus cambios, en el simulador simplemente es necesario presionar CTRL+R y listo, la app se refresca con los nuevos cambios. Esto es permite que no piedas nada de tiempo compilando, deployando, abriendo la app, etc.

React Native me recuerda un poco a Sencha Touch, ya que se pueden crear clases y objetos utilizando ES6, la herencia es muy útil y fácil de realizar. También me recuerda un poco a angular ya que para renderizar los componentes se utiliza JSX, imagina que son directivas.

Para deployar en el dispositivo lo hacemos desde XCode, tal como haríamos con una aplicación nativa. Una vez que esta deployada y cuando hacemos cambios, basta cerrar la aplicación, abrirla de nuevo y veremos nuestros cambios instantáneamente.

Rendimiento

El rendimiento es bueno, por ejemplo en una app que estoy haciendo necesito desplegar más de 600 registros en un listado. El componente List viene ya con la posibilidad de buffer, lo que permite ir renderizando los componentes hasta que es necesario, esto definitivamente permite que se inicie muy rápido la app y conforme se va escroleando hacia abajo, los nuevos elementos de la lista se van renderizando.

Popularidad

Desde que Facebook libero React Native como Open Source, mucha gente comenzó a colaborar. Cada semana salen nuevos módulos y librerías, actualmente ya podemos tocar audio, videos, utilizar oauth, base de datos, etc.

La comunidad es muy amigable y dispuesta a ayudarte, te recomiendo registrarte al newsletter donde cada semana anuncias muchas cosas interesantes.

Cuando comencé con React Native estaban en la versión 0.4.1, en este momento ya van en la versión 0.7.0-rc, esto significa que el desarrollo del framework es bastante rápido y hay muchos cambios en el camino, algunas veces dejan de funcionar partes de mi app cuando migro de versión, pero esto es normal ya que todavía no alcanza la versión 1.

Layouts y Estilos

El sistema de layouts es increiblemente bueno, si ya dominas el concepto de Flexbox en CSS al llegar a React Native no tendrás problema alguno, es exactamente lo mismo. Uno de los conceptos en React Native es que tanto la funcionalidad como los estilos de cada componente, deben estár contenidos en un mismo archivo, la ventaja de esto es que todo está encapsulado y es muy fácil estilizar cada componente por separado.

Los estilos se definen directamente en JavaScript mediante un objeto, esto a mucha gente quizás no les agrade tanto, pero hay que tomar en cuenta que esto no es CSS. La mayoría de las propiedades que podemos estilizar tienen el mismo nombre en CSS, pero debemos tener claro que oaviamente esto no es CSS, así que no es tan malo despues de todo y llegas a acostumbrarte rápidamente.

Conclusiones

En conclusión puedo decir que React Native vino para quedarse, ha crecido muy rápido y es un proyecto vivo. Definitivamente es una tecnología que tienes que probar, una vez que inicies a realizar tu primer proyecto no quedrás regresar a utilizar otros. Posiblemente en un par de semanas inicie un curso al respecto, no es nada seguro pero algo que me gustaría hacer.

1Comentario

Instructor del curso

Crysfel3

Autor: Crysfel Villa

Soy un geek que disfruta crear y compartir cosas en internet! Sígueme en twitter @crysfel