Mi opinión profesional es que si tiene que decidir qué marco utilizar y si es nuevo tanto en Angular como en VueJS … elija VueJS. También en su organización, si nunca ha utilizado ningún marco, use VueJS.
Estas son algunas de las razones por las cuales:
Angular es mucho más complejo y difícil de aprender que VueJS. Te obliga a escribir la capa MVC completa para el front-end (de cualquier manera tendrás que implementar MC en el back-end). Por lo tanto, demasiada modularidad introduce aquí un efecto secundario de muchas piezas móviles / parte del código en mi humilde opinión.
- En pocas palabras, ¿cómo se construye un compilador?
- ¿Cómo es la arquitectura del software Siemens Teamcenter?
- Cómo postularse para trabajar en Europa o Londres como ingeniero de software con 2 años de experiencia
- ¿Qué tipo de sistema operativo se usa en aviones de combate y misiles?
- ¿Cuáles son las ventajas y desventajas del modelo de prototipos utilizando el lenguaje de programación Java?
Puedo decirte desde mi experiencia personal … es una gran pérdida de tiempo aprender las diferentes versiones de Angular. Si aprende Angular 2.xo 4.xo 5.x … y si su empresa lo devuelve a Angular 1.x … lo que puede suceder en algún momento … es como volver a jQuery nuevamente (es una gran diferencia en estos versión). Por otro lado, si trabajas en 1.x solo entonces aún necesitarás hacer un esfuerzo para llevarte bien con la última versión de angular.
Tenga en cuenta … La versión angular 1.xy 2.x / 4.x / 5.x son como marcos diferentes. Hay alguna o mínima similitud. Y si busca trabajo, actualmente en los EE. UU. … lamentablemente, la mayoría de las aplicaciones ya están escritas y han invertido su tiempo y dinero en v1.x. Entonces, estas compañías serán reacias en algún momento a ir a la última versión de angular. Luego terminas gastando mucho tiempo en aprender Angular 1.xy pierdes tu valor de mercado inmediatamente porque a la nueva startup le gustaría usar la última versión de Angular. Ahora, pasar mucho tiempo en Angular 1.x no es de gran ayuda, ya que casi tendrá que volver a aprender Angular 2.X, 4 y 5, etc.
Y buena suerte si tienes la oportunidad de ser contratado en cualquier empresa sin experiencia previa en Angular. Va a ser un poco difícil descifrar este proceso de entrevista … especialmente cuando serás entrevistado por sr angular developer. Es demasiado difícil recordarlo todo a menos que realmente tenga la oportunidad de trabajar en este marco durante uno o dos años.
El código angular no es tan intuitivo como VueJS. Quiero decir … te obliga a escribir tus propios controladores, clases de servicio y tendrás que familiarizarte con una serie de API (cómo crear el módulo de la aplicación, el controlador, los servicios, la directiva, los filtros, etc.). Es demasiado exagerado en el nombre de la arquitectura extensible (y puedo agregar … el vocabulario y la palabra clave para escribir estas clases de componentes es un poco diferente en diferentes versiones). Por lo tanto, genera mucho código en comparación con VueJS. [Ok … ahora esto se basa en mi experiencia en Angular 1.xy 2.x … ya que nunca tuve la oportunidad de mirar la última versión actual 4.x / 5.x que se llama Angular en lugar de AngularJS]
TAMBIÉN, Angular (la última versión) necesita TypeScript. Si no lo sabe … abróchese el cinturón para obtener una curva de aprendizaje adicional.
Sin embargo, una vez que pase a la curva de aprendizaje original en Angular, no querrá trabajar en ningún otro marco que no sea Angular.
Quiero aclarar que es una idea errónea entre los nuevos desarrolladores que Angular es para aplicaciones empresariales complejas y VueJS es para el desarrollo de aplicaciones simples. De hecho, nada más lejos de la verdad. Puede implementar todo y me refiero a todo lo que uno puede diseñar e implementar en Angular usando VueJS.
Ahora mirando las ventajas de Vue:
Base de código y huella de memoria mucho más pequeños y mucho más rápido que Angular (puede ser el último Angular ahora es comparable … No he verificado el último punto de referencia de rendimiento … pero desde su inicio, VueJS fue mucho más rápido que React o AngularJS).
Admite tanto Javascript ECMA5 como TypeScript. Y opcionalmente, incluso puede usar JSX para funciones de renderizado (al igual que reaccionar). Utiliza DOM virtual como reaccionar.
Puede escribir UI menos componente (llamado componente funcional)
Puede escribir componentes de una página que le permitan escribir un componente completo en un archivo con la extensión * .vue … que incluye todo lo que necesita en un solo archivo. Por ejemplo, el archivo * .vue puede incluir código HTML en , código JavaScript en , estilos CSS (tanto globales como de ámbito [que es solo para este componente]) en y cualquier otro número de etiquetas personalizadas adicionales. incluso puede tomar SASS como idioma. Entonces, básicamente, mantener un código es mucho más fácil debido a esto.
Parece que … VueJS envuelve el controlador internamente (por lo que no necesita escribirlo usted mismo). Todo lo que necesita es una clase de componente para su entidad que almacene sus datos y puede escribir métodos en los datos.
En VueJS, para la clase Angular like Services, puede usar la clase Global ECMA5 JavaScript o el componente Vue mixins (que también es una clase JS) o vuex, etc. ), y comparte esta clase mixins con cualquier clase de componente Vue. Y la clase de componentes Vue obtiene una copia de todos los datos, funciones dentro de los mixins.
Huella de código muy pequeña y elegante. Es mucho más fácil vincular un elemento HTML con datos de VueJS Compoenent (unidireccional o bidireccional). Viene con reactividad incorporada. Todas las variables que vincula de datos a elementos HTML se pueden ver con el método $ watcher en el componente Vue. Muy fácil de vincular a HTML nativo o sus propios eventos de componentes personalizados.
Extensible. Solo se enfoca en la parte Ver (solo como desarrollador puede sentir que solo está haciendo la parte Ver) y hace el excelente trabajo en comparación con otro marco (incluso mejor que React).
Está más orientado a los componentes y se siente natural cuando construye una jerarquía de componentes. Puedes construir un árbol de componentes. Los niños conocen el estado de los padres a través de sus propiedades y comunican los cambios a los padres mediante eventos personalizados. Muy cerca de FLUX como arquitectura en su base y puede usar vuex (como redux) para una mejor gestión del estado.
Entonces Vue capitaliza la arquitectura FLUX usando Vuex. Y permita la gestión / almacenamiento centralizado del estado para aplicaciones de SPA o PWA muy complejas.
Excelente, gran ecosistema (por ejemplo, impresionantes colecciones de componentes vue) … sin mencionar que Angular / AngularJS también tiene un ecosistema extremadamente excelente.
Sobre todo … un gran soporte de herramientas para depuración, creación de perfiles, etc. Por ejemplo, Vue devtool: – facilita la depuración de VueJS en Chrome o Forefox devtool. Tiene un muy buen paquete web 2 vue-loader y vue-cli para un andamiaje rápido para una nueva aplicación basada en PWA. Angular también tiene herramientas similares.
Pero mi característica más importante de VueJS es que está extremadamente bien documentado y es FÁCIL DE APRENDER. Toma menos tiempo aprender que Angular. Puede hacer todo … bueno, casi todo excepto la inyección de dependencia de servicios como Angular … pero de nuevo la forma en que escribimos VueJS … uno nunca tendrá que preocuparse por la inyección de dependencia … (¡o puede ser hasta que lo hagamos {;>)! )
¿Cuándo debe seleccionar Angular sobre VueJS para su aplicación Enterprise?
Aplicación web móvil híbrida: si desea utilizar el marco iónico para desarrollar aplicaciones móviles híbridas, entonces Angular es probablemente la mejor en mi humilde opinión. Sí … VueJS tiene otras opciones disponibles para desarrollos de aplicaciones móviles híbridas (busque en google y encontrará toneladas de ellas), pero creo que Ionic puede ser un claro ganador aquí. Pero es un error pensar que tiene una base de código debido al marco iónico. Aún necesitará mantener dos repositorios github diferentes para su aplicación web tradicional y la aplicación móvil híbrida [dependiendo de su UXD de aplicaciones web e híbridas … ¡terminará manteniendo repositorios diff de todos modos …!].
¿Qué hay de desarrollar aplicaciones nativas? ¿Qué marco es mejor: Angular o VueJS?
Bueno, ambos están atados aquí, ya que ambos tienen un excelente soporte de NativeScript. NativeScript es compatible con Angular y VueJS igualmente bien, pero creo que encontrará más desarrolladores Angular que usan NativeScript. Simplemente porque hay más desarrolladores que invirtieron en Angular, ya que es un marco más antiguo en comparación con VueJS. VueJS también tiene otras bibliotecas disponibles para el desarrollo de aplicaciones nativas, pero no veo ninguna que valga la pena mencionar aquí en este momento.
En resumen, si te apegas a Angular … y si comienzas directamente con la última y mejor versión de Angular … probablemente sea una inversión que valga la pena a expensas del tiempo para la curva de aprendizaje. Creo que VueJS es más intuitivo. Y Angular (si eres nuevo) tomará más tiempo y esfuerzo para hacer las mismas cosas que Vue puede hacer.
VueJS se ve más moderno día a día y es bastante elegante y hermoso. Estoy bastante seguro de que los nuevos desarrolladores ciertamente sentirán que vale la pena el esfuerzo de aprender VueJS. Solo va a mejorar en el futuro, y creo que se adoptará en todos los segmentos de la industria debido a su capacidad de mantenimiento, capacidad de soporte, extensibilidad, velocidad, curva de aprendizaje comparativamente más corta para nuevos desarrolladores, capacidad de prueba, arquitectura fácil, tiempo de entrega de MVP al mercado y velocidad de desarrollo. Es una buena opción alternativa para Angular o React.