¿Vale la pena utilizar Angular Console?

Opinión sobre el nuevo UI de Angular

Ignacio Buioli
- 01/11/2018

Durante estos días corre el furor de un nuevo software, la Angular Console (consola de Angular) que se presenta como una especie de revolución en la forma de producir y mantener nuestros proyectos de Angular. No se trata de una especie de "plugin" para un terminal, sino de una interfaz de usuario que permite controlar todo un proyecto de Angular sin entrar a la terminal. Parece una buena idea para principiantes y expertos que quieran ahorrar tiempo, sin embargo, ¿es realmente así? Estas son nuestras impresiones luego de probar la Angular Console.

Para empezar, Angular Console es un proyecto independiente de Angular (a pesar de que la gente de Angular le dio un visto bueno y hasta la ha recomendado); y se encuentra en una fase de desarrollo Beta. Esto significa que no seremos tan tajantes a la hora de realizar una crítica en términos de rendimiento. Para no ser una herramienta oficial, está bastante bien planteada. Se descarga muy fácil de la página angularconsole.com y tienen paquetes para todos los sistemas operativos, aunque parece pensada para Mac por ciertos detalles estéticos.

Al abrir Angular Console, nos aparecerá una bella interfaz realizada con Material (la App está en Angular y funciona con Electron, lo cual le da cierto atractivo desde el código) y podremos organizar nuestros proyectos de Angular. Cabe señalar que solo nos permitirá abrir y crear proyectos con Angular 6+. así que olvídense de probar su vieja App de Angular 2-beta. Realmente es muy sencilla de usar, simplemente recorremos nuestros directorios con una interfaz gráfica, y nos dirá que carpetas contienen un proyecto válido de Angular, o simplemente crearemos uno completando el campo del nombre.

La creación es bastante sencilla, simplemente elegiremos un nombre para el workspace y le daremos a generar. Nos mostrará una simpática ventana emulando una terminal real. Al acabar  ya podremos empezar a usarlo, con botones de acceso rápido a Serve, Build y Test. En el menú de la izquierda, tendremos otros accesos, como para ejecutar los scripts de NPM, o instalar Plugins de Angular CLI (muy interesante). Además, en ese mismo lugar podremos crear Components, Services, Interfaces, Pipes, Modules o cualquier estructura de Angular que necesitemos, sin tener que recordar cada comando. Por supuesto, cada estructura tiene un menú con configuraciones (bastante completo).


Ventajas

  • Es una interfaz muy simple de usar que ahorra la necesidad de recordar muchísimos comandos.

  • Siempre nos muestra una ventana con una "simulación de terminal", útil para quienes están aprendiendo.

  • Con unos simples botones tenemos acceso a los scripts de npm, incluso los personalizados; y a la instalación de Angular CLI Plugins (como elements o material).

  • Puede ser útil para crear cada estructura de Angular sin tener que recordar su declaración exacta.

Desventajas

  • Es bastante más lenta para crear un proyecto que utilizar la terminal.

  • Las descripciones de cada estructura son muy ambiguas, da la posibilidad de crear un Component pero no explica la diferencia con un Service, lo que hace que sea necesario tener una buena base previa (es decir, es contraproducente para principiantes).

  • No se puede inspeccionar el árbol de archivos generado al crear el proyecto directamente dentro de la interfaz.

  • En Linux no se puede editar código directamente con un acceso rápido de la interfaz (como sí tiene en Mac que permite abrir el proyecto en el Visual Studio Code). Solamente abre los ficheros, esto puede deberse a que se encuentra en beta, pero sería de gran ayuda que permita abrir los IDE de desarrollo más extendidos (Atom, Sublime Text, etc).

  • Si se presenta algún error al migrar de versiones o conflictos con los paquetes NPM, no tiene forma de solucionarlo (lo cual es lógico), pero obliga a que el usuario se meta a la terminal, lo cual le saca un poco la utilidad. Sería interesante que pueda tener un informe de errores, o abrir la terminal automáticamente desde la propia interfaz.

  • Le falta algún sistema para actualizar de versiones viejas a Angular 6+ (algo necesario incluso a nivel Angular oficial)

  • Sería conveniente que tenga referencias a la doc de Angular en el mismo menú de creación de estructuras.

  • Se saltea el paso de elegir Routing o el tipo de PreProcesador de CSS al momento de crear un nuevo proyecto (Algo que se había ganado en Angular 7).

  • Aún tiene muchos Bugs, especialmente si se usa la versión 7 de Angular CLI (al parecer está pensado para la versión 6).


Conclusión

¿Qué podemos decir? Es una buena iniciativa y demuestra el alcance real que tiene Angular actualmente. Sin embargo, se nota que es una herramienta Beta, le falta muchísimo trabajo y su destino se lo dará el flujo de usuarios que lo utilicen. No debe tomarse, sin embargo, como un reemplazo de la terminal, saber usarla puede ser la diferencia entre resolver un problema y no resolverlo nunca. Pero como forma de empezar en Angular, y como herramienta para un desarrollador con experiencia que necesite un "ayuda memoria", no está de mas tenerlo instalado.