Ionic Framework: Desarrollo apps híbridas

Desarrollo Apps

por Ruben

CEO & Project Manager | Rubén se ocupa de la dirección, estrategia y gestión de proyectos además de las relaciones con nuestros clientes. En sus pocas horas libres echa una mano como Senior Full Stack developer a los compañer@s.

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 resumen, 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 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 prediseñ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.
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 Framework 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.

Ionic Framework Innobing

Un poco de historia y su última versión

La primera versión de Ionic fue lanzada en 2013, y desde entonces, periódicamente, han aparecido nuevas versiones, algunas con cambios bastante profundos. Por ejemplo el paso de Ionic 1Ionic 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, cuyas novedades incorporaban la mejora del rendimiento al trabajar directamente con JavaScript y que ya no hacía falta usar Angular JS, la incorporación de StencilJS y una nueva capa para comunicarse con la parte nativa del dispositivo sin necesidad de utilizar Cordova (https://capacitor.ionicframework.com/)

El 11 de febrero de 2020, Ionic lanzó su nueva versión, Ionic 5, y es actualmente la última desde la publicación de este post. 

¿Quieres conocer sus novedades?

Actualización para las nuevas versiones del sistema operativo de iOs y Android, así como el formato de los nuevos dispositivos. 

Nueva versión de iconos con un nuevo motor de animación

– Se han actualizado las bases del diseño de las plantillas para hacer de una forma más ágil y sencilla el desarrollo de las apps desde 0. 

– Ionic 5, al usar todos los componentes de Angular, incuido el CLI. beneficia de la actualización a Ivy como motor de compilación y ejecución.