Ionic Framework: Desarrollo apps híbridas

Ionic Framework: Desarrollo apps híbridas

¿Qué es Ionic Framewok?


Ionic es un framework de código abierto multiplataforma para el desarrollo de apps híbridas.
Se caracteriza por utilizar HTML5 como lenguaje de maquetación para las vistas de las aplicaciones y AngularJS para la programación de controladores y funcionalidades.


Ionic utiliza acceso completo a los plugins de Cordova/Phonegap, por lo que las posibilidades de acceso a las funciones nativas de los dispositivos es máxima.



En resunen, Ionic es la tecnología que empleamos habitualmente para la programación de aplicaciones móviles híbridas.





Algunas de sus ventajas


Es multiplataforma


El propósito de Ionic es el de crear aplicaciones híbridas, por lo que ya de base estamos hablando de un proyecto multiplataforma.
Ionic es compatible y permite el desarrollo de aplicaciones para Android, iOS, Windows, WebApps y Amazon FireOS.
Además, al tratarse de un software multiplataforma, los equipos de desarrollo pueden trabajar en también desde diferentes sistemas (Windows, MacOS, Linux..)

Usa HTML5 y Angular JS con TypeScript


Al basar toda la maquetación en HTML y Angular, nos permite el diseño de interfaces interactivas de manera sencilla y totalmente MVC, de forma que la lógica se traslada a los modelos y controladores y las vistas se diseñan por separado.



Los componentes UI


Ionic cuenta con decenas de componentes pre-diseñados con los que se puede crear de forma rapidísima tarjetas, alertas, botones, menús, formularios...
Todos estos componentes están adaptados a las interfaces nativas de los diferentes sistemas, por lo que si por ejemplo usamos un componente "Alert", este se mostrará de manera diferente en Android que en dispositivos iOS.


Puedes ver toda la info sobre los UI componentes aquí.



Ionic Native, acceso a todas las funciones nativas de los dispositivos.


Ionic Native es una colección de todos los plugins de Cordova que permiten añadir de forma fácil funcionalidades nativas como la Geolocalización, Notificaciones Push, Compras y pagos etc etc.
Existen centenares de estos plugins, en general bastante bien documentados que nos permiten añadir prácticamente cualquier funcionalidad a las aplicaciones que desarrollamos.

Puedes ver toda la info sobre Ionic Native



Es libre y gratuito


Ionic es un proyecto open source, por lo que es posible su uso libre y gratuito, por lo que como ya hemos visto, además de ahorrar tiempo ahorraremos dinero en costes de licencias, etc.


Ionic permite crear apps para Android e iOS de forma más rápida, económica y fácil de mantener.




Principales desventajas


Hay que trabajar bien el rendimiento


Aunque han mejorado considerablemente, el rendimiento de una aplicación híbrida siempre estará un paso por detrás de las aplicaciones nativas.
Lo bueno, es que con el rendimiento actual y la potencia cada vez mayor de los Smartphones, si el desarrollo está bien optimizado en muchos casos es práticamente imposible distinguir una app nativa de una híbrida.

No sirve para apps de carga gráfica


Es decir, no podemos desarrollar juegos u otras aplicaciones que requieran de potencia gráfica.

NPM, Ionic, librerías y los famosos errores de compilación


En general todo el mundo del desarrollo de apps móviles es bastante propenso a tener problemas entre diferentes versiones de sistemas operativos, librerías y paquetes en general.
Ionic no es una excepción, y en muchos casos puede llegar a desesperar cuando por algún cambio externo en cualquier paquete, el proyecto deja de compilar o funcionar y puedes pasar horas "pegándote con él" hasta conseguir que todo vuelva a funcionar.
En estos casos, sitios como Stack Overflow son de una grandísima ayuda.

Desarrolladores


Hay pocos desarrolladores especializados en Ionic, por lo que a las empresas como la nuestra, encontrar personas para que formen parte de nuestros equipos puede ser una tarea complicada.



Aunque las apps híbridas no llegan a la potencia de las nativas, a día de hoy con un poco de optimización su rendimiento es más que aceptable.




desarrollo apps ionic


Un poco de historia y su ultima versión


La primera versión de Ionic fué lanzada en 2013, y desde entonces periódicamente han ido saliendo nuevas versiones, algunas con cambios bastante profundos por ejemplo el paso de Ionic 1 a Ionic 2, donde a su vez pasábamos de Angular 1 a Angular JS 2 con TypeScript como lenguaje de programación y se integraba definitivamente el modelo MVC.

Las aplicaciones desarrolladas con Ionic 1 no pueden portarse de forma automática a Ionic 2, ya que hay que reestructurar y reescribir la mayoría de las funciones.

En 2017 se lanzó Ionic 3, cuyas principales novedades eran la inclusión de Angular 4.0 y TypeScript 2.2, y nuevas posibilidades como el Lazy Loading, optimización tanto de las aplicaciones como los tiempos de compilación.

Y en Enero de 2019 llegó Ionic 4, actual versión de Ionic en el momento de redactar este post.

¿Quieres conocer sus novedades?

- Web Components, mejora del rendimiento al trabajar directamente con Javascript.

- Ya no hace falta usar Angular JS, es decir, puedes usar Ionic Framework con React o Vue JS por poner un ejemplo.

- Capacitor: Nueva capa para comunicarse con la parte nativa del dispositivo, por lo que ya no es necesario utilizar Cordova. Más info: https://capacitor.ionicframework.com/

- StencilJS

En futuros capítulos:



- Cómo instalar y crear tu primer proyecto Ionic
- Consejos para desarrollar con Ionic
- Y mucho más :-)