logo
contacto@lagahe.com
+(34) 967 10 14 30
+(34) 610 74 57 87
Parque Empresarial Campollano
Avenida Cuarta, número 3 - 02007 Albacete

La eterna lucha entre aplicaciones híbridas y nativas: React Native - Lagahe
60269
single,single-post,postid-60269,single-format-standard,qode-core-1.0,ajax_fade,page_not_loaded,,pitch-ver-1.1, vertical_menu_with_scroll,smooth_scroll,side_menu_slide_from_right,grid_1300,blog_installed,wpb-js-composer js-comp-ver-4.8.0.1,vc_responsive
La eterna lucha entre aplicaciones hibridas y nativas: React Native

La eterna lucha entre aplicaciones híbridas y nativas: React Native

Seguramente una de las primeras preguntas que se hace un desarrollador antes de empezar un proyecto seria que tecnología debería utilizar, en este post hablaré de mi experiencia con React Native y la diferencia a utilizar tecnologías nativas para desarrollar tanto en IOS como Android.

Mi primer contacto con React Native fue hace un año por recomendación de un amigo, y francamente, sonaba genial, una tecnología para desarrollar en ambas plataformas con elementos nativos de cada sistema, pero como suelen decir, no todo lo que es oro reluce.

Instalación

Si vamos a la pagina y seguimos la guía veremos que hay dos formas de instalar React Native:

instalación React Native

La primera forma nos permite crear nuestro proyecto sin tener que configurar Android studio ni xcode además de la posibilidad de poder ver nuestra aplicación en tiempo real desde nuestro propio dispositivo utilizando Expo CLI, sin embargo hay muchas limitaciones en esta forma de crear nuestros proyectos ya que muchas de las herramientas nativas que nos proporciona React Native no podremos utilizarlas como modificar ficheros de forma separada para cada plataforma, por tanto yo recomiendo encarecidamente la segunda opción aunque tardemos un poco en configurar Android Studio y Xcode.

Una vez terminada la guía de configuración deberíamos poder crear nuestro proyecto y ver una pantalla como esta:

Captura de pantalla 2019-02-21 a las 10.07.23

¡Listo! A priori su desarrollo es sencillo y realizar operaciones que en nativo nos llevaría muchas líneas de código en React Native solo serian un par, al ser un framework de React utiliza la sintaxis de ECMAScript 6 por lo tanto si venimos de trabajar con Java Script no nos costará adaptarnos.

Desarrollo: Ventajas y desventajas

Sin embargo no es totalmente cierto que el mismo código nos valga para ambas plataformas, seguramente en muchas ocasiones tengamos que crear un componente para  cada una ya que a diferencia con otras tecnologías hibridas como Ionic, la gracia de React Native es que el producto final es similar a una app nativa.

Trabajar con tecnologías hibrida nos obliga a utilizar paquetes externos, la mayoría desarrollados por la comunidad y aquí reside uno de los principales inconvenientes para mi a la hora de trabajar con React Native, tiene muy poco soporte al ser una tecnología relativamente nueva, si por ejemplo quisiésemos incorporar en nuestra app un login de Google tendríamos que utilizar una librería, si google decide en un momento dado cambiar el login en nativo, la comunidad tendría que rehacer la librería para React Native, si comparamos las posibilidades de los mapas de Google en Nativo y  React Native vemos que en React Native pierden muchas funcionalidades:

https://github.com/react-native-community/react-native-maps

De nuevo, es una librería creada por la gran comunidad y eso nos limita a quedarnos obsoletos si Google saca una actualización.

Pero no todo son problemas, la otra cara de la moneda es la gran posibilidad que nos bridan todas las librerías de la comunidad, estas son algunas de las que he probado yo:

React Native Elements

reactive elements

 

React native Elements como su nombre indica es una librería con elementos ya diseñados como botones, inputs, iconos etc… es una librería casi indispensable si buscas un buen resultado grafico y no quieres gastar tiempo diseñando tus propios componentes.

 

React Nativation

reactive navigation

Para crear una barra de navegación en la parte superior de la pantalla en tu app, la documentación es clara y fácil, en comparación con nativo es bastante mas fácil utilizar.

 

Google Native Google Sign In

reac native

Para iniciar sesión en google desde nuestra app, cuesta un poco mas que las demás ya que necesitas configurar el gradle de Android, algunos ficheros de Android y crearte una cuenta en firebase, una vez que lo tienes el código sencillo y la respuesta que te da es un json con los datos del usuario, un ejemplo básico sacado de la documentación:

 

inicio sesión en google

En resumen, React Native me parece una opción interesante si queremos desarrollar aplicaciones pequeñas pero si queremos aplicaciones con muchos recursos podría complicarse y es preferible esperar a que haya mas soporte para React Native.

Dani Cebrián Tarancón Sobre el autor

¿Te ha gustado nuestro artículo?

Si quieres recibir las novedades más creativas del mundo online, suscríbete a nuestra newsletter.

* indica obligatorio

Warning: count(): Parameter must be an array or an object that implements Countable in /homepages/22/d318122530/htdocs/lagahe/wp-includes/class-wp-comment-query.php on line 399
No hay comentarios

Deja un comentario:

Una cookie o galleta informática es un pequeño archivo de información que se guarda en su navegador cada vez que visita nuestra página web.

La utilidad de las cookies es guardar el historial de su actividad en nuestra página web, de manera que, cuando la visite nuevamente, ésta pueda identificarle y configurar el contenido de la misma en base a sus hábitos de navegación, identidad y preferencias.

Las cookies pueden ser aceptadas, rechazadas, bloqueadas y borradas, según desee. Ello podrá hacerlo mediante las opciones disponibles en la presente ventana o a través de la configuración de su navegador, según el caso.

En caso de que rechace las cookies no podremos asegurarle el correcto funcionamiento de las distintas funcionalidades de nuestra página web.

Más información en el apartado POLÍTICA DE COOKIES de nuestra página web.