Menu

Ionic 4 beta ¿Qué hay de nuevo?

news - July 28, 2018 por Nicolas Molina

En esta versión Ionic trae gran número de nuevas características entre estas las más importantes son:

  • Web Components con Stencil.
  • Agnóstico a frameworks.
  • Integración con Angular CLI & Angular Router.
  • Mejoras en rendimiento.

Web Components con Stencil

El equipo de Ionic en esta nueva versión y en las futuras versiones utilizará Web components en todo su SDK, con la intención de usar los estándares de la Web, esto hará que el núcleo de Ionic no dependa de ningún framework y además tenga un mejor rendimiento.

Desde sus inicios Ionic ha escogido a Angular para construir todo su SDK, aprovechando la gran API que ofrece, sin embargo los tiempos han cambiando y hay numerosos frameworks como lo son Vue, Ember o React que ofrecen un gran API. Pero el equipo de Ionic nunca mostró intención de crear un SDK para cada framework en particular, de tomar este camino sería difícil de mantener y estarían aumentando lo que se conoce como el Framework Churn.

Sin embargo el equipo de Ionic ha trabajado recientemente en Stencil, un compilador de componentes con el cual han reconstruido todo el núcleo de Ionic con Stencil, permitiendo tener un SDK compatible con cualquier framework.

Los componentes creados con Stencil siguen los estándares de la Web, obteniendo un mejor rendimiento y logrando trabajar sin dependencias, como consecuencia todo el SDK de Ionic 4 puede ser integrado en cualquier framework ya sea Angular, Vue, Ember o React.

Agnóstico a frameworks

Ionic siempre ha tenido el objetivo de crear un SDK que trabaje con cualquier tecnología que un programador web elija, en sus inicios Ionic 1 en 2013 escogió a Angular por su popularidad y por su gran API, sin embargo en la actualidad existen numerosos frameworks con gran popularidad y con poderosas comunidades.

Pero ahora con su nuevo SDK cualquier framework puede integrar Ionic gracias a los Web Components que siguen el estándar y son interpretados directamente por el navegador y se usan como cualquier tag de HTML, es más puedes construir aplicaciones sin frameworks con VanillaJS, un ejemplo:

Esto hará que la la comunidad de Ionic crezca sin importar qué framework se elija para desarrollar.

Integración con Angular CLI & Angular Router

Ya hemos hablado de que Ionic ahora usa Web Components en su núcleo y que es agnóstico, pero qué significa esto y ¿Cómo trabaja con Angular?

Un problema es que Ionic CLI y Angular CLI son diferentes y esto genera confusión, además que usando Ionic CLI no se puede integrar las últimas novedades de Angular CLI y de Angular a Ionic de manera inmediata.

Ahora con Ionic 4, si quieres trabajar con Ionic puedes trabajar con las herramientas nativas de Angular y su comunidad como, schematics, Angular CLI y todas sus librerías. Ionic se vuelve un librería más dentro de un proyecto de Angular.

Otro cambio importante es el uso nativo de Angular Router, es decir ahora dejamos de usar NavController y usamos el flujo nativo de rutas de Angular.

¿Cómo migrar a Ionic 4?

!No teman! la migración de Ionic 3 hacia Ionic 4 no es tan dramática como la que tuvimos de Ionic 1 a Ionic 2, es más, te sorprenderás que es mucho más fácil migrar de lo que crees.

Lo más complejo será migrar de NavController a Angular Router, pero si ya haz trabajo con Angular y hecho otras aplicaciones usando Angular Router te será muy fácil hacer esta migración.

Oficialmente hay una guía en la página oficial de Ionic para esta migración.

Ionic 4 trae varios Breaking Changes donde cambia algunas cosas a favor de usar Web Components.

Sin embargo haremos una artículo de este tema en especial.

¿Algo más?

Ionic ha trabajo no solo en crear un SDK agnóstico y potente, en paralelo ha trabajado en otros proyectos que se pueden integrar a las aplicaciones, como:

  • Capacitor: Un Bridge nativo para aplicaciones web.
  • Ionicons: Iconos en SVG y Web components.
  • Ionic Native 5: Actualizado para que también funcione de forma agnóstica.
  • Ionic Docs: Una documentación más clara.
  • Ionic CLI: Una nueva API de CLI para integrar ionic más fácil.

¿Ya lo puedo usar?

Esta versión está en fase Beta, así que no es recomendable usarlo en aplicaciones en producción, luego de la fase Beta sigue una fase de RC (release candidate) y finalmente lo lanzarán a producción. La recomendación es que desde ahora lo vayas probando, pero aun no en producción.

En conclusión, de ahora en adelante tendremos aplicaciones con mejor rendimiento y mejor integración con Angular o con el framework de tu preferencia.

¡Compártelo!