React vs Angular vs Vue.js – ¿Qué elegir en 2020?
Publicado el 8 de junio, 2020
Entonces, ¿cuál es la situación en el jardín frontend en 2020?
Los frameworks de JavaScript se están desarrollando a un ritmo extremadamente rápido, lo que significa que hoy en día tenemos versiones actualizadas de Angular, React y otro jugador en este mercado: Vue.js.
Analizamos el número de puestos vacantes en todo el mundo que requieren un conocimiento específico de un determinado framework. Como fuente, tomamos Indeed.com y obtuvimos la siguiente distribución de acuerdo con más de 60,000 ofertas de trabajo.

Teniendo en cuenta los siguientes datos, decidimos compartir las principales ventajas y desventajas de cada framework frontend y ayudar a los profesionales tecnológicos o ingenieros a elegir el mejor para sus necesidades de desarrollo.
Pros y contras de Angular
Angular es un framework MVVM JavaScript superheroico, fundado en 2009, que es increíble para crear aplicaciones web altamente interactivas.
Beneficios de Angular:
- Angular está creado para ser usado junto con Typecript. Y tiene un soporte excepcional para ello.
- Angular-language-service: que permite la inteligencia y el autocompletado dentro de los archivos de plantilla externas de componentes HTML.
- Nuevas características como una generación de bibliotecas npm basadas en Angular de CLI, generación y desarrollo de WebComponents basados en Angular
- Documentación detallada que permite obtener toda la información necesaria para el desarrollador individual sin preguntar a sus colegas. Sin embargo, esto requiere más tiempo para la educación.
- Enlace de datos unidireccional que permite un comportamiento singular para la aplicación que minimiza los riesgos de posibles errores.
- MVVM (Model-View-ViewModel) que permite a los desarrolladores trabajar por separado en la misma sección de la aplicación utilizando el mismo conjunto de datos.
- Inyección de dependencia de las características relacionadas con los componentes con módulos y modularidad en general.
- Estructura y arquitectura específicamente creadas para una gran escalabilidad del proyecto.
Inconvenientes de Angular:
- La variedad de diferentes estructuras (Inyectables, Componentes, Pipes, Módulos, etc.) hace que sea un poco más difícil de aprender en comparación con React y Vue.js, que tienen un único «Componente» en mente.
- Rendimiento relativamente más lento, según diferentes puntos de referencia. Por otro lado, puede abordarse fácilmente utilizando la llamada «ChangeDetectionStrategy», que ayuda a controlar el proceso de renderizado de componentes de forma manual.
Empresas que usan Angular: Microsoft, Autodesk, MacDonald’s, UPS, Cisco Solution Partner Program, AT&T, Apple, Adobe, GoPro, ProtonMail, Clarity Design System, Upwork, Freelancer, Udemy, YouTube, Paypal, Nike, Google , Telegram, Weather, iStockphoto, AWS, Crunchbase.
Pros y contras de React
React es una biblioteca de JavaScript, open sourced por Facebook en 2013, que es ideal para crear aplicaciones modernas de una sola página de cualquier tamaño y escala.
Beneficios de React:
- Fácil de aprender, gracias a su diseño simple, el uso de JSX (una sintaxis similar a HTML) para la creación de plantillas y una documentación muy detallada.
- Los desarrolladores pasan más tiempo escribiendo JavaScript moderno y menos tiempo preocupándose por el código específico del framework.
- Extremadamente rápido, cortesía de la implementación Virtual DOM de React y varias optimizaciones de renderizado.
- Gran soporte para la representación del lado del servidor, lo que lo convierte en un framework potente para aplicaciones centradas en el contenido.
- Soporte de primera clase de Progressive Web App (PWA), gracias al generador de aplicaciones `create-react-app`.
- El enlace de datos es unidireccional, lo que significa menos efectos secundarios no deseados.
- Redux, el framework más popular para administrar el estado de las aplicaciones en React, es fácil de aprender y dominar.
- React implementa conceptos de Programación Funcional (FP), creando código fácil de probar y altamente reutilizable.
- Las aplicaciones se pueden hacer type-safe con TypeScript de Microsoft o Flow de Facebook, y ambas cuentan con soporte nativo para JSX.
- En general, migrar entre versiones es muy fácil, ya que Facebook proporciona «codemods» para automatizar gran parte del proceso.
- Las habilidades aprendidas en React se pueden aplicar (a menudo directamente) al desarrollo React Native.
Inconvenientes de React:
- React no se opina y deja que los desarrolladores tomen decisiones sobre la mejor manera de desarrollarse. Esto se puede abordar con un fuerte liderazgo en el proyecto y buenos procesos.
- La comunidad está dividida sobre la mejor manera de escribir CSS en React, dividida entre hojas de estilo tradicionales (Módulos CSS) y CSS-in-JS (es decir, Componentes de estilo y emoción).
- React se está alejando de los componentes basados en clases, lo que puede ser una barrera para los desarrolladores más cómodos con la Programación Orientada a Objetos (OOP).
- Al principio, mezclar plantillas con lógica (JSX) puede ser confuso para algunos desarrolladores.
Empresas que usan React: Facebook, Instagram, Netflix, New York Times, Yahoo, Khan Academy, Whatsapp, Codecademy, Dropbox, Airbnb, Asana, Atlassian, Intercom, Microsoft, Slack, Storybook y muchas más.
Pros y contras de Vue.js
Vue.js es un framework de JavaScript, lanzado en 2013, que se adapta perfectamente para crear interfaces de usuario altamente adaptables y aplicaciones sofisticadas de una sola página.
Beneficios de Vue.js:
- HTML potenciado. Esto significa que Vue.js tiene muchas características similares con Angular y esto puede ayudar a optimizar el manejo de bloques HTML con el uso de diferentes componentes.
- Documentación detallada Vue.js tiene documentación muy circunstancial que puede acelerar la curva de aprendizaje para los desarrolladores y ahorrar mucho tiempo para desarrollar una aplicación utilizando solo los conocimientos básicos de HTML y JavaScript.
- Adaptabilidad. Proporciona un período de cambio rápido de otros frameworks a Vue.js debido a la similitud con Angular y React en términos de diseño y arquitectura.
- Impresionante integración. Vue.js se puede usar tanto para crear aplicaciones de una sola página como para interfaces web de aplicaciones más difíciles. Lo principal es que las partes interactivas más pequeñas se pueden integrar fácilmente en la infraestructura existente sin ningún efecto negativo en todo el sistema.
- Gran escalamiento. Vue.js puede ayudar a desarrollar plantillas reutilizables bastante grandes que se pueden hacer sin tiempo extra asignado para eso de acuerdo con su estructura simple.
- Tamaño minúsculo. Vue.js puede pesar alrededor de 20 KB manteniendo su velocidad y flexibilidad que le permite alcanzar un rendimiento mucho mejor en comparación con otros frameworks.
Inconvenientes de Vue.js:
- Falta de recursos. Vue.js todavía tiene una participación de mercado bastante pequeña en comparación con React o Angular, lo que significa que el intercambio de conocimientos en este marco aún está en la fase inicial.
- Riesgo de sobre flexibilidad. A veces, Vue.js puede tener problemas al integrarse en grandes proyectos y todavía no hay experiencia con posibles soluciones, pero definitivamente vendrán pronto.
Empresas que utilizan Vue.js: Xiaomi, Alibaba, WizzAir, EuroNews, Grammarly, Gitlab y Laracasts, Adobe, Behance, Codeship, Reuters.
CONCLUSIÓN
Para un ingeniero real, no hay una diferencia sustancial en qué framework elegir, porque solo lleva un tiempo acostumbrarse al nuevo. En nuestra compañía, aumentamos nuestra experiencia en React y Angular, pero Vue.js también está a bordo. Cada framework tiene sus propios pros y contras, lo que significa que debe haber la elección correcta para cada caso durante el desarrollo del producto.
Articulo original: https://medium.com/techmagic/reactjs-vs-angular5-vs-vue-js-what-to-choose-in-2018-b91e028fa91d