Blog

Juan Ángel López
18 Nov 2022

Pasar de programar en Angular a Vue.js

Tiempo de lectura 6 minutos
  • angular
  • front end
  • migración tecnológica
  • programación
  • vue.js

Sumario Juan nos cuenta su experiencia de pasar de estar programando en Angular a tener que embarcarse en un proyecto de Vue.js, lo fácil o difícil que este proceso y las ventajas e inconvenientes que ve de un framework y el otro.

Breve historia de Angular y Angular JS

Hace ya poco más de 11 años Google anunciaba la salida a producción de su framework web de hasta entonces uso interno Angular JS. Desde los primeros meses y ya con la sombra de Google, AngularJS prometía convertirse en el framework para desarrollo web por excelencia, y así fue.

AngularJS permitía de forma sencilla implementar un patrón MVVM aportando a la programación web todos los beneficios de este patrón de forma sencilla y automática:

A esto había que añadir que AngularJS permitía tratar a los tests de código con la misma importancia que permitía tratar al código propiamente dicho.

A pesar de la gran acogida por el público, no es oro todo lo que reluce. El 15 de septiembre de 2016, Google anuncia el framework Angular (sin JS) también conocido como Angular 2 o Angular 2 + (para nosotros a partir de este punto será Angular). Angular fue presentado como una evolución de AngularJS , y ciertamente lo es ya que aporta muchas mejora. El uso de orientación a objetos, un patrón MVC más simple, un mejor aislamiento, etc. pero… hay un punto negativo importante.

Angular no sería compatible con AngularJS , por lo que si teníamos un proyecto en AngularJS deberíamos migrarlo a Angular.

A partir de este punto la mayoría de proyectos empezaron a crearse con Angular en vez de con AngularJS hasta que el 31 de diciembre de 2021 Google deja de dar soporte a AngularJS, acabando así con el framework.

Hoy en día Angular sigue siendo uno de los frameworks de programación web de referencia, sin embargo, desde hace unos 10 años empezaron a surgir competidores que trataron de despojar del trono a Angular. Las alternativas más notables hoy en día son ReactJS (actualmente propiedad de Meta) y Vue.JS.

Alternativas a Angular y ratios de mercado

Hoy en día, las dos alternativas a Angular han conseguido su propósito ya que el uso de angular está muy por debajo del de sus dos competidores.

Fuente: https://www.codeinwp.com/blog/angular-vs-vue-vs-react/

Gran parte de esta tendencia de utilización viene dada por las novedades incluidas en los frameworks “de nueva generación” como React y Vue.js.

Algunas de las razones principales que los desarrolladores están argumentando para elegir React o Vue.js antes que Angular son las siguientes:

Historia de VUE

Vue.JS fue lanzado en febrero de 2014 (como una alternativa a Angular y React) y creado por Evan You. Evan, había estado trabajando en Google con el framework AngularJS y después en MeteorJS.

Evan pensó que podía extraer todas las características que le gustaban de Angular. Así que, decidió plasmarlas en un framework con tecnología mucho más moderna, más ligero y que apostase por la facilidad de escritura de código.

Algunas de las promesas ofrecidas por VUE.JS en el momento de su creación fueron las siguientes:

Mi experiencia personal de cambio desde Angular a Vue.JS

Hace ya tiempo, cuando empecé a trabajar con este tipo de frameworks front, comencé con Angular.JS. Posteriormente cambié a Angular (también usando Cordova para adaptar su web app a móvil). Tras Angular estuve implicado en un proyecto React + React Native y a día de hoy trabajo a diario con VUE.JS.

Para mí, realmente, el cambio de Angular.JS a Angular fue mucho más drástico que el cambio de Angular a VUE.JS.

A la hora de trabajar con VUE.JS es cierto que existen algunas novedades a las que cuesta acostumbrarse como son las propiedades computadas o las propiedades data(), sin embargo, la curva de aprendizaje es realmente suave y en poco tiempo estás programando en VUE.JS casi como si llevases meses haciéndolo.

Por otro lado otra de las funcionalidades a las que te acostumbras prácticamente al momento de usar VUE.JS (aún que hay que decirlo, si vienes de Angular o React te va a parecer extraño) es el hecho de escribir todo el código (HTML+JS+CSS) en un mismo fichero .VUE.

En los primeros momentos puede parecer extraño, pero es cierto que todo parece mucho más limpio y es mucho más fácil navegar por el proyecto. Además de eso, hay que recordar que en VUE.JS el HTML y el JS están en bloques separados a diferencia de REACT lo que lo hace mucho más fácil tanto de leer como de escribir.

Por otro lado, también hay que reconocer que esta estructuración y la propia arquitectura del framework hace mucho más fácil la componetización y la reutilización de los componentes creados favoreciendo a la reutilización de código.

Antes de terminar hay que decir que no todo es bueno, la orientación a reactividad del framework hace que sea muy cómodo programar las vistas... hasta que falla..., cuando la reactividad falla (no lo hace en muchas ocasiones) puede dar lugar a situaciones realmente extrañas y el principal problema es que las soluciones a esas situaciones tienden a complicar y ensuciar el código.

Como punto de vista personal, coincido con muchos otros programadores respecto a que VUE.JS es un framework orientado a proyectos de tamaño pequeño-mediano y enfocado principalmente a la reutilización. Esto nos pone en una situación en la que es muy conveniente tener una arquitectura muy bien definida para conseguir reutilizar el máximo número de componentes posibles. El único punto negativo que se le puede asociar a este aspecto es el mantenimiento si el proyecto crece durante su desarrollo y los componentes adquieren nuevas funcionalidades, aquí es cuando VUE.JS no se presta tan amigable como otros frameworks  a la hora de realizar ese tipo de cambios principalmente por su estructuración del código.

Por último, también como opinión personal destacar que aún que si es cierto que VUE.JS tiene menor impacto que React y React Native en el desarrollo de apps móviles, sí que existen frameworks para realizarlas, una de ellas es Nativescript , el cual probé hace algunos años y tengo que decir que era una buena alternativa a React Native si se quiere trabajar con VUE.


Autor

Juan Ángel López
Juan Ángel López

Desarrollador en dev&del

Desarrollador en ByronLabs

Juan combina su pasión por el desarrollo de software con su pasión por la seguridad informática. Puedes encontrarle creando software o rompiendo software.

¿Estás interesado?

Déjanos tus datos y contactaremos contigo lo antes posible