¡Tenemos una sorpresa!

(4 min lectura)

Hace casi un año, los desarrolladores debatían sobre si debían usar Angular o React para sus proyectos. Pero en el transcurso de 2018, vimos un aumento en el interés en un tercer jugador llamado Vue.js.

Si estás intentando empezar un proyecto FRONT y no puedes decidir qué tecnología usar, voy a intentar explicar cada una de estás tecnologías en auge del futuro.

Intentaré cubrir varios aspectos de Angular, Vue y React para ver cómo se adaptan a tus necesidades.

Esta publicación no es solo una guía sobre Angular vs React vs Vue, sino que tiene como objetivo proporcionar una estructura para ayudar a juzgar los marcos de JavaScript front-end en general. El caso es intentar ayudar un poco.

Angular, desarrollado por Google, se lanzó por primera vez en 2010, por lo que es el más antiguo de todos. Es un framework de JavaScript basado en TypeScript. En 2016 se produjo un cambio sustancial en el lanzamiento de Angular 2 (y la caída de «JS» del nombre original – AngularJS). Angular 2+ se conoce como simplemente angular . Aunque AngularJS (versión 1) todavía recibe actualizaciones, centraremos la discusión en Angular. La última versión estable es Angular 7, que se lanzó en octubre de 2018.

Vue, también conocido como Vue.js, es el miembro más joven del grupo. Fue desarrollado por el ex empleado de Google, Evan You, en 2014. En los últimos dos años, Vue ha experimentado un cambio sustancial en su popularidad, aunque no cuenta con el respaldo de una gran empresa. La versión estable actual es la 2.17, lanzada en agosto de 2018. Los colaboradores de Vue están respaldados por Patreon . Vue 3, actualmente en la fase de creación de prototipos, planea pasar a TypeScript.

React , desarrollado por Facebook, se lanzó inicialmente en 2013. Facebook usa React ampliamente en sus productos (Facebook, Instagram y WhatsApp). La versión estable actual en 16.X, lanzada en noviembre de 2018.

Tendencias

«La siguiente gráfica muestra las tendencias de los anteriores tecnologías front a lo largo del tiempo».

¿Qué tener en cuenta para poder elegir?

Mercado laboral.

Lo primero de todo y seguramente lo que todo el mundo espera, donde hay más ‘curro’.

Como se ve en las tendencias de finales de 2018, el número de trabajos que requieren un conjunto de habilidades de Angular o React es aproximadamente el mismo, mientras que el de Vue es solo una fracción de este número (alrededor del 20%). Esta lista definitivamente no es exhaustiva, pero ofrece una buena imagen de la industria tecnológica general.

Comunidad y desarrollo.

Lo segundo, para mí, es la cantidad de información que hay en la web y la gente que está en la comunidad para ayudarnos.

Lo pongo a este nivel, ya que actualmente, estoy con CELLS en BBVA con Polymer 2, y la verdad es que información, lo que se dice información, no hay demasiada.

Por lo tanto, veamos, Angular vs React vs Vue con respecto a las estadísticas en sus repositorios de GitHub.

Una posible explicación a esta tabla es que Vue está totalmente impulsado por la comunidad de código abierto, mientras que Angular y React tienen una proporción significativa de empleados de Google y Facebook que contribuyen a los repositorios .

A partir de las estadísticas, los tres proyectos muestran una actividad de desarrollo significativa, y esto seguramente continuará en el futuro, solo que estas estadísticas no pueden ser la base para no decidir utilizar ninguno de ellos.

¿He Trabajado con estas tecnologías?

Personalmente he trabajado con las 3 tecnologías y voy a sacar datos objetivos.

El tamaño de las bibliotecas son los siguientes:

  • Angular: 500+ KB
  • Reaccionar: 100 KB
  • Vue: 80 KB

La componentización de estas bibliotecas:

En Angular, los componentes son solo marcadores en elementos DOM, que el propio Angular puede rastrear y adjuntar también comportamientos específicos. Por lo tanto, Angular separa la parte UI de los componentes como atributos de las etiquetas HTML, y sus comportamientos en forma de código JavaScript, esto es lo que lo distingue al mirar Angular vs React.

En React, curiosamente, combina la interfaz de usuario y el comportamiento de los componentes. Por ejemplo, aquí está el código para crear un componente hola mundo en React . En React, la misma parte del código es responsable de crear un elemento UI y de dictar su comportamiento.

En Vue, la interfaz de usuario y el comportamiento también forman parte de los componentes, lo que hace que las cosas sean más intuitivas cuando se analiza Vue vs React. Además, Vue es altamente personalizable, lo que le permite combinar la interfaz de usuario y el comportamiento de los componentes desde un script. Además, también puede usar preprocesadores en Vue en lugar de CSS , que es una gran funcionalidad. Vue es genial cuando se trata de la integración con otras bibliotecas, como Bootstrap .

La curva de aprendizaje de estas bibliotecas:

Angular tiene una curva de aprendizaje empinada, considerando que es una solución completa, y dominar Angular requiere que aprendas conceptos asociados como TypeScript y MVC.

React ofrece una guía de introducción, que te debería ayudar a configurar el proyecto en aproximadamente una hora.

Aparte hay muchísima documentación, con soluciones a problemas comunes ya presentes en StackOverflow. Por el contrario ,React no es un del todo completo y las características avanzadas requieren el uso de bibliotecas de terceros. Esto hace que la curva de aprendizaje del uso básico no sea tan pronunciada, sino que depende de la ruta que tomé con las funcionalidades adicionales.

Vue proporciona una mayor capacidad de personalización y, por lo tanto, es más fácil de aprender que Angular o React. Además, Vue tiene una superposición con Angular y React con respecto a su funcionalidad como el uso de componentes.

Por lo tanto, la transición a Vue de cualquiera de los dos es una opción fácil. Sin embargo, la simplicidad y flexibilidad de Vue es un arma de doble filo: permite poder desarrollar un código deficiente y no muy políticamente correcto, lo que dificulta su depuración y prueba, el lo que tienen las librerías.

Entonces, ¿Quién gana?

Angular es el más maduro de las librerías, tiene un buen respaldo en términos de contribuyentes y tiene todo lo que necesitas.

Sin embargo, la curva de aprendizaje es dura y los conceptos de desarrollo en Angular pueden retrasar a los nuevos desarrolladores.

Angular es una buena opción para empresas con grandes equipos y desarrolladores con experiencia, que ya utilizan TypeScript, y sepan los conceptos básicos de MVC.

React tiene la edad suficiente para ser maduro y tiene una gran cantidad de contribuyentes de la comunidad. Está ganando aceptación generalizada y el mercado laboral para React es realmente bueno.

React parece ser una buena opción para alguien que comienza con los frameworks de JavaScript front-end, startups y desarrolladores a los que les gusta la flexibilidad.

La capacidad de integrarse con otros frameworks-librerías a la perfección le brinda una gran ventaja para aquellos que desean cierta flexibilidad en su código.

Vue es nuevo en la arena, sin el respaldo de una empresa importante.

Sin embargo, se ha desempeñado muy bien en los últimos años como un competidor fuerte para Angular y React.

Tal vez esté desempeñando un papel con muchos gigantes chinos como Alibaba y Baidu, eligiendo a Vue como su marco principal de JavaScript de front-end.

Sin embargo, queda por verse cómo se hace en el futuro y se justifica ser cauteloso con él. Vue debería ser su elección si prefiere la simplicidad, pero también le gusta la flexibilidad.

La respuesta al debate de Angular vs React vs Vue es que no hay una elección correcta absoluta, que probablemente haya esperado.

Cada una de estas bibliotecas tiene sus propios beneficios e inconvenientes. Según el proyecto en el que esté trabajando y sus requisitos individuales, uno de ellos será más adecuado que los otros. Siempre es clave hacer su propia investigación antes de decidir, especialmente si va a trabajar en una empresa y no en un proyecto personal.

Grupo Onetec

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Ir al contenido