El desarrollo de apps híbridas ya es para todos: Ionic 4 es oficial

1

A finales del mes de enero, Max Lynch, cofundador en 2013 del famoso framework de desarrollo de aplicaciones híbridas Ionic, anunciaba en el blog de la plataforma el lanzamiento de la versión 4.0.

Hasta aquí todo es normal, pero lo cierto es que esto supone, en palabras de él mismo, la culminación de más de dos años de trabajo que implican un cambio radical en la estructura del framework, haciendo que el desarrollo híbrido vuelva a tomar fuerza frente al nativo, ya que este cambio transforma Ionic de "mobile for Angular" en “Ionic for Everyone”, un potente sistema de diseño de interfaz de usuario y framework para cada desarrollador web en el mundo.

 

Pero espera un momento... ¿Qué entendemos por aplicación híbrida y nativa?

Antes de entrar en materia es conveniente aclarar qué se conoce por aplicación nativa y por qué nació la necesidad del desarrollo híbrido.

 

      1. Aplicación nativa

Digamos que es aquella que ha sido desarrollada y programada con el kit de desarrollo y lenguaje de programación propio de cada plataforma (Android SDK y lenguaje de programación Java para dispositivos con plataforma Android, iPhone SDK y lenguaje Objetive-C o Swift para iOS, etc..).

Estas aplicaciones están optimizadas específicamente para el sistema en el que se ha desarrollado, pudiendo aprovechar toda la funcionalidad y características que nos proporciona la plataforma escogida para el desarrollo.

 2

 

2. Aplicación híbrida

Es aquella que ha sido desarrollada y programada utilizando como base HTML5, Javascript y CSS, tal y como si fuese una página web, pero con la particularidad de que en vez de tener que abrir un navegador para ejecutarla, la lógica programada es incrustada en una aplicación móvil a través de un WebView nativo a cada plataforma.

Estas aplicaciones tienen la ventaja de que son escritas una única vez y no necesitan necesariamente reescribirse para cada plataforma. Así mismo, aunque no aprovechan todo el rendimiento que ofrece cada sistema operativo, pueden tener acceso a los componentes nativos a través de plugins como PhoneGap y Apache Cordova, haciendo la vida más fácil a los desarrolladores a la hora de crear una aplicación multiplataforma.

  

Entonces, ¿qué había significado Ionic hasta la fecha?

Ionic ha venido siendo uno de los referentes más fuertes hasta la fecha, junto con el framework React Native, en cuanto al desarrollo de aplicaciones híbridas.

Remontémonos a sus inicios:

Estamos en 2013, y de la mano de Drifty Co. nace Ionic, utilizando como base para el desarrollo el framework más popular en el frontend del momento: AngularJS.

3

Posteriormente, con la salida de Angular (versión 2 en adelante), se sustituye como base para el desarrollo en las versiones de Ionic 2 y 3, siendo esta última la más exitosa hasta la fecha.

Ionic ha usado tecnologías web para desarrollar y renderizar las aplicaciones, apoyándose en plugins como PhoneGap y Apache Cordova para acceder a las funciones nativas de los dispositivos.

Sigue el lema “Write once, run everywhere”. Esto significa que el mismo código se podrá ejecutar en todas las plataformas que se quiera, ya que Ionic simplemente adapta sus elementos a cada una de las plataformas a la hora de pintar elementos en la pantalla para dar una impresión “nativa”.

 

¿Por qué era necesario un cambio en las bases de Ionic?

 Avancemos a 2019, y nos encontramos con que el paisaje del frontend ya no se parece en nada al de 2013.

 4

 

Para empezar, AngularJS ha sido reemplazado por Angular moderno. React, que ni siquiera se escuchaba en 2013, ha alcanzado una enorme popularidad. Los nuevos frameworks como Vue han crecido aún más rápidamente y sirven para recordarnos que el status quo no es nada, ya que la tecnología está en constante cambio y evolución.

 

¿Por qué “Ionic for Everyone”?

Ante tanto cambio en el panorama del frontend, y con tanta posibilidad tecnológica, era necesaria una mejora sustancial en la estructura de Ionic, para no cerrarse solo a desarrolladores con conocimientos en Angular y abrirse camino al resto de tecnologías frontend.

 

¿Qué hay de nuevo, viejo?

Uno de los grandes cambios de esta nueva versión de Ionic, es que es completamente independiente del framework base (anteriormente este lugar lo ocupaba solo Angular).

Cualquier framework puede integrar Ionic gracias a los Web Components que siguen el estándar, son interpretados directamente por el navegador y se usan como cualquier tag de HTML.

Para ayudarse a crear los Web Components, el equipo creó una herramienta llamada Stencil. Una forma de explicar los Web Components es imaginarlos como widgets de interfaz de usuario reusables que son creados usando tecnologías webs abiertas. Son parte del navegador y, por lo tanto, no necesitan de bibliotecas externas.

Todo esto implica una mejora sustancial en uno de los mayores déficit que tiene el desarrollo de aplicaciones híbridas: el rendimiento de las aplicaciones.

 5

Se ha mejorado el tiempo medio de carga de las aplicaciones desarrolladas con Ionic, bajando de una media de 3.8 segundos a 2.2 segundos.

 

Conclusión

Todos estos cambios en la estructura del framework han sido realizados con la idea de crear una base que esté adaptada y preparada para el panorama tecnológico del frontend, el cual vemos que no deja de sorprendernos con nuevas tecnologías emergentes y la mejora de otras que, hasta hace poco, no eran conocidas, haciendo que para el desarrollo de aplicaciones híbridas Ionic se sitúe nuevamente con fuerza como la mejor opción para su elaboración.

Pero como bien dijimos antes, el status quo en este mundo no es nada y veremos a ver si el equipo liderado por Max Lynch ha acertado y el cambio sustancial en la estructura del framework está a la altura de todo lo que se avecina en el presente y futuro tecnológico.