¿Qué tan bueno es React Native?

El resultado de una aplicación con React Native es muy bueno (sino miren a Facebook e Instagram), sin embargo hay otros aspectos a considerar si te quieres aventurar en desarrollar una aplicación móvil con React Native. A continuación te presentamos algunos puntos a considerar en base a nuestra experiencia.

La curva de aprendizaje: Si bien existen muchos tutoriales, muchos de ellos están desactualizados o asumen que ya conoces previamente ciertas configuraciones, por eso lo ideal es conocer lo más que se pueda sobre los conceptos y definiciones de React Native (desde su misma página) antes de leer un tutorial externo.

Hay que tener mucho cuidado con el rendimiento: Ya que React Native facilita muchísimo el desarrollo, es fácil perder de vista el rendimiento y darse la sorpresa al final, además hay que tener en cuenta que la combinación de algunas librerías podría poner un poco lenta la aplicación. Otro punto importante es que la actualización constante (mal uso) del estado podría afectar el rendimiento considerablemente.

El componente FlatList no tiene tan buen performance: Según la documentación de React Native, este componente tiene un buen performance pero la realidad es que con muchos elementos y dependiendo de su contenido el performance puede ser considerablemente malo, por eso recomendamos usar un recycler list como https://github.com/Flipkart/recyclerlistview por ejemplo.

No todo está implementado: Probablemente el 90% de las características regulares que encontramos en desarrollos nativos están implementados pero hay algunas que no, en nuestro caso por ejemplo fue el PeekView. Esto puede representar un problema de primera mano pero felizmente React Native se integra con código nativo, de esa forma se pueden implementar ese 10% de características.

La documentación no incluye Swift: Gran parte de los ejemplos de la documentación de React Native están con Objective C, ojalá en un futuro la actualicen para que tenga un versión de Swift también.

En base a nuestra experiencia, trabajar con React Native es una muy buena opción, el resultado bien trabajado puede ser muy bueno y el tiempo de implementación disminuye considerablemente sin descuidar otros aspectos importantes como el rendimiento, la organización de código, dependencias, entre otros.

¿Y tú, ya has trabajado con React Native? Compártenos tu experiencia