Ionic es una gran plataforma para desarrollar web apps móviles, ¡pero evoluciona tan rápido que a veces te sacan de quicio! Hace unos días publicaron una actualización de su herramienta de linea de comandos (CLI) y han cambiado algunas cosas. Esta es una breve guía para adaptarte a Ionic CLI v3.

Requerimientos

Antes de nada comentar que para usar la nueva CLI de Ionic necesitas tener unas versiones bastante modernas de node y npm:

  • Node 6+
  • Npm 3+

Proceso de instalación

La CLI se instala con el paquete principal de ionic, así que es tan simple como hacer:

npm install -g ionic

Si ahora ejecutas ionic info, te debería salir por consola un resultado similar al siguiente:

global packages:

    @ionic/cli-utils : 1.1.2
    Ionic CLI        : 3.1.2

System:
    #...your node version and system details...

Como ves, mi CLI de Ionic está en una versión 3+.

Nuevo proyecto

El comando para crear un nuevo proyecto se ha modificado ligeramente para convertir a Ionic 2+ (Ionic v2 y Ionic v3) en la tipología principal de proyecto.

Ahora ya no debes indicar la versión --v2. Para crear un nuevo proyecto en la última versión de Ionic, debes hacer:

ionic start <name> [tmpl]

Si quieres iniciar un proyecto con la versión 1 de Ionic, siempre puedes indicarlo con --type ionic1.

Listar proyectos starter

Para saber que templates puedes usar al crear un nuevo proyecto (ese [tmpl] de comando anterior), lo puedes hacer igual que en versiones anteriores, con:

ionic start --list

Lanzar el servidor de desarrollo

Este comando tampoco ha cambiado. Si quieres lanzar el servidor de desarrollo, solo tienes que hacer:

ionic serve

Cambios sustanciales respecto a la CLI v2

Más rápido

El paquete que instala la CLI ha reducido su tamaño drásticamente y eso lo notarás en el tiempo de instalación. Ahora es mucho más rápido. Además, también se ha mejorado la velocidad del comando start.

Nomenclatura de comandos por plataformas

Uno de los cambios que más notarás es la nueva nomenclatura de comandos. Ahora han sido namespaced, es decir, se han delimitado por nombres. Siempre es engorroso esto de que te cambien algunos comandos…

¿Por qué lo hacen?

¿Qué sentido tiene?

 
Después del enfado inicial, si te fijas un poco, verás que tiene sentido lo que han hecho.

Ionic empezó orientado únicamente a plataformas móviles (y web mobile) y ahora se están abriendo a otras plataformas como por ejemplo Electron, para llegar a escritorio. Y claro, ahí la CLI antigua no estaba preparada.

Los comandos principales que usabas en desarrollo ahora pasan a tener el nombre de la plataforma delante, es decir, para móvil tienes los siguientes cambios:

  • ionic build ======> ionic cordova build
  • ionic emulate ====> ionic cordova emulate
  • ionic run ======== > ionic cordova run
  • ionic platform ===> ionic cordova platform
  • ionic plugins ====> ionic cordova plugins

Comandos guiados

Ahora muchos de los comandos te facilitan un guiado en caso de que te falte alguna dependencia o lo hayas introducido incompleto.

Por ejemplo, si creas un proyecto nuevo y lo intentas compilar para iOS o Android, la CLI te indica que te falta el plugin @ionic/cli-plugin-cordova. Además, se ofrece a instalarlo por ti.

ionic CLI v3 guided command

Lo mismo pasa con el comando start, así como con el comando generate que te permite crear nuevos archivos. Si no especificas el tipo de archivo que quieres crear, la CLI te lo pregunta.

enter image description here

Comandos eliminados

Los siguientes comandos (la mayoría de servicios en el cloud de Ionic), han sido eliminados: setup, share, lib, io, security, push, config, service, add, remove, list, hooks, state.

En el caso de este último (state), se ha eliminado por que ahora cordova ya implementa un mecanismo interno para guardar y restaurar los plugins que usas.

Nuevos comandos

La CLI v3 de Ionic ha añadido el comando signup, que está también relacionado con sus servicios en el cloud.

Conclusiones

Estos son los principales cambios de la nueva CLI de Ionic.

Aunque de entrada eso de oír que de nuevo Ionic está cambiando cosas te puede irritar (reconozco que a mí me pasa), la verdad es que son cambios menores y todos para mejor:

  • Ayuda en los comandos
  • Más información de contexto
  • Más rapidez
  • Es el primer paso para que la CLI te permita compilar a otras plataformas como Electron. Esto implica ligeros cambios en los comandos, pero nada drástico.

Espero que este resumen te ayude a asimilar las novedades.

¡Saludos!