Claves para un buen desarrollo de apps híbridas: Ionic y React
Con el paso de los años, y en pleno 2018, el desarrollo híbrido ha cambiado mucho, a mejor, y han nacido plataformas muy potentes que nos facilitan mucho esta tarea. Ionic y React son solo dos de ellas, pero sin duda de las más sonadas. Hoy vamos a hacer una breve introducción a estas dos herramientas para que podamos considerar si merece la pena invertir parte de nuestro tiempo en crecer como desarrolladores adoptándolas en nuestro abanico de aptitudes. ¡Vamos allá!
Ionic y React, dos aliados perfectos
Creo que lo más interesante es empezar por sus similitudes, que no son pocas, pese a que los objetivos son distintos. Ionic y React son prácticamente hermanos en cuanto al campo profesional que tratan de abarcar: son dos bibliotecas JavaScript, su objetivo es proveer al usuario de interfaces gráficas modernas y cómodas, y a nivel de desarrollo las dos usan el modelo vista controlador. Hasta aquí no vemos grandes diferencias, ¿verdad? Pero lo cierto es que aquí empiezan los matices. Originalmente, ReactJS, de Facebook, no nació con el objetivo de cubrir las necesidades del desarrollo híbrido de aplicaciones móviles, se quería centrar en las páginas web de escritorio y que fueran reactivas (responsive). Y lo lograba de forma muy eficaz, de eso no hay duda. Pero pensemos que en ese momento, en el mercado, AngularJS de Google estaba siendo muy usado, el cual fue usado como la base, junto a Cordova, para proveer a las empresas de aplicaciones híbridas por Ionic. Empezamos a ver “el problema” a nivel de mercado, ¿no? Había que hacer algo al respecto, y Facebook entonces decidió extender una rama de su plataforma llamada React Native. De este modo tuvieron en sus manos un rival a la altura de Ionic para no quedarse atrás. Al fin y al cabo lo que hace tan potente a Ionic es:
- La base de componentes como Angular
- Modelo Vista-Controlador
- Elementos gráficos nativos de cada plataforma
- Los cimientos que ha dejado Cordova a la hora de compilar
Es un framework muy preparado y era necesario poder competir.
Dejando esto de lado, nos podemos encontrar en dos situaciones a la hora de decidirnos por uno: que en el pasado hayamos visto AngularJS, por poco que sea, o que no hayamos realizado absolutamente nada relacionado con aplicaciones híbridas. Y estas dos situaciones, en mi opinión, son la clave para elegir correctamente. Lo demás acaba siendo irrelevante de forma relativa porqué ambos tienen buenas y fuertes comunidades, podréis encontrar apoyo sin demasiado problema y son dos herramientas que provienen de dos empresas muy grandes, por lo que no van a desaparecer de un día para otro. Es evidente que si en el pasado habéis trabajado con Angular, os recomiendo ir de cabeza sin dudarlo a Ionic, por ser uno de los pilares de la herramienta y con lo que vais a construir toda la lógica. Partís con ventaja y cuando se trata de avanzar rápido hay que aprovechar cualquier arma que tengamos en nuestra recámara.
Si os encontráis en la situación de empezar de 0, entonces os voy a dar un par de detalles que os van a ayudar a decidir.
- React no permite reciclar componentes nativos. Esto significa que, a diferencia de Ionic, cada plataforma tiene su parte de código dedicada a los elementos nativos. Estos elementos son botones, los mensajes de diálogo (“cargando…”) y todo lo que nos hace pensar cuando vemos una app “esto es un iPhone” o “esto es un Android”. Que no se puedan reciclar implica que nosotros, como desarrolladores, debemos tomar más decisiones para que el resultado final sea lo más cercano a lo deseado.
- Ambos Frameworks carecen de IDEs, por lo que necesitamos un editor de código como Atom, por lo que esta parte es común. No es un problema porqué las dos plataformas refrescan los cambios en nuestro navegador favorito de forma automática
- En Ionic existen más plugins para poder tener soporte en algunas características que necesitemos, ya que Cordova lleva en el mercado mucho más tiempo. En cambio en React debes integrar algún plugin…que te integre Cordova. Puede ser un poco confuso.
¿Cuál es la mejor plataforma? Como de costumbre, esto es subjetivo a cada uno, pero lo bueno es que ambas tienen empleos disponibles de modo que invertir tiempo en alguna de las dos va a tener su recompensa, sea cual sea.
Os animo a meterle ganas y horas ya que actualmente el desarrollo de aplicaciones no había sido nunca tan sencillo y con conocimientos web, los cuales os servirán para la parte de escritorio de la marca que queráis representar, os servirán para construir una aplicación móvil totalmente funcional, elegante y multiplataforma para poder llegar al máximo público posible. No tengáis miedo y a por todas!
Curso relacionado: Curso Superior de Desarrollo de Aplicaciones para Móviles