Comparación entre React, Angular y Vue – Parte I
Hola a todos, hoy nuestro equipo de DevSun Europe continua con la serie de artículos relacionados con React. En la temática que hoy nos ocupa, realizamos una comparación, publicada en dos partes, de las diferentes tecnologías de JavaScript React, Angular y Vue, ampliamente usadas en el desarrollo de aplicaciones.
Con esta publicación no pretendemos dar un ganador, sino brindar informaciones tales como tendencias, similitudes, diferencias, comunidad de desarrolladores, facilidad en el aprendizaje, versatilidad, modularidad, entre otros detalles. De tal forma que todos estos elementos les permitan a los desarrolladores encontrar la manera de elegir cual puede ser más útil en la creación de sus proyectos. Siempre basándose en la experiencia que poseen, conjugado con las características que ofrecen estas tecnologías de JavaScript.
En el análisis de esta temática presentamos el siguiente contenido:
Primera parte:
Segunda parte:
- Modularidad: Componentes
- Manejo del flujo de datos en la interfaz de usuario (data binding)
- Testeo
- Curva de Aprendizaje
- ¿Cuál debería elegir?
En el artículo de hoy presentamos la primera parte de la comparación de las diferentes tecnologías de JavaScript React, Angular y Vue.
Tendencias en el uso de React, Angular y Vue
La primera comparativa, como es común en varios artículos consultados, es la ofrecida por Google Trends . Como se puede observar en la siguiente imagen, React y Angular resultan los contenidos más buscados en este gestor de búsquedas en los últimos 12 meses. Las búsquedas relacionadas con Vue aún son insuficientes, comparadas con las de los dos anteriores.
En cuanto a las búsquedas de manera geográfica se muestran los resultados en la siguiente imagen. En esta se presenta las de mayor prevalencia por países.
Historia y licencias
Como se había presentado en el artículo anterior, React es considerado una biblioteca de JavaScript para la construcción de interfaces de usuario a través de componentes. React ofrece una gran flexibilidad y fácil integración con otras bibliotecas. Fue desarrollada y es mantenida por Facebook. Su lanzamiento para producción ocurrió, inicialmente, en marzo del 2013. React es empleado por diferentes compañías tales como Facebook, Uber, Netflix, Twitter, Udemy, Paypal, entre otras.
Angular, por su parte, es un framework de JavaScript basado en TypeScript que provee una arquitectura completa con un conjunto utilidades adicionales en la creación de aplicaciones. En adición, presenta una interesante herramienta CLI para incrementar la productividad de los desarrolladores. Su desarrollo y soporte es concebido por Google. El surgimiento de Angular se produjo al reescribirse la versión AngularJS (versiones 1.x) y su introducción sucede en septiembre del 2016 (se considera como Angular a todas las versiones a partir de la versión 2). La última versión publicada hasta la fecha es la número 6. Angular constituye un framework ampliamente utilizado por empresas como Google, Forbes, WhatsApp, Wix, entre otras.
Finalmente, Vue es considerado un framework progresivo para construir de manera intuitiva interactivas interfaces web a través de componentes. Puede ser escalable y usarse como biblioteca o framework en dependencia del caso en que se emplee. Se enfoca su aplicación principalmente en la capa de la vista de la aplicación. Su primer lanzamiento llegó en febrero del 2014 por un exempleado de Google Evan You. En el 2016 fue lanzada la versión 2 de esta biblioteca. Vue es valorado como una de las bibliotecas de JavaScript de más rápido crecimiento en popularidad. Es aplicado por compañías como Alibaba, Baidu, Expedia, Nintendo, GitLab, entre otras.
Estas tres tecnologías de JavaScript se rigen bajo la licencia MIT.
Comunidad de desarrolladores
En esta sección apreciaremos la popularidad y tendencia existente en Stackoverflow y GitHub, en el empleo de Angular, React y Vue.
Mediante la siguiente estadística de noviembre del 2018, que muestra la Historia de Estrellas de GitHub, se refleja el crecimiento en aceptación por los desarrolladores de Vue en este año alcanzando 119707 estrellas. En el segundo semestre comenzó a superar a React que le continúa con 115962estrellas. Angular les sigue con 42821 estrellas un poco más rezagado.
Como consecuencia de la búsqueda de repositorios en GitHub, realizada en noviembre del 2018, se obtuvieron los siguientes resultados. Se encontraron 677738 repositorios correspondientes a React, de Angular 447469 repositorios y de Vue 196800 repositorios . Esto demuestra que React predomina en aceptación por parte de los desarrolladores que conforman la comunidad de GitHub.
El otro análisis realizado está basado en el survey del año 2018 desarrollado por Stackoverflow.
Entre los frameworks, bibliotecas y herramientas más empleados por todos los usuarios de Stackoverflow se encuentra Angular con el 36.9 %, seguido de React con el 27.8 % de los encuestados. Reduciendo la encuesta a la categoría de desarrolladores profesionales continúa Angular en la delantera con el 37.6 %, React por su parte es empleado por el 28.3 % de los encuestados. Vue no se ve reflejado en los primeros puestos de esta encuesta, pero es probable que escale algunos puestos en el próximo survey.
En la sección Most Loved, Dreaded and Wanted Frameworks, Libraries and Tools del referido survey, encontramos que ni Vue, ni Angular se encuentran en las primeras diez posiciones. En cambio, React se encuentra en la segunda posición general en la categoría de Most Loved con el 69.4% de los desarrolladores encuestados y en la primera posición con el 21.3% en la categoría Wanted, es decir, el más deseado para trabajar por aquellos desarrolladores que todavía no lo utilizan en sus proyectos.
Tamaño y rendimiento
En cuanto al tamaño del archivo gzip de estas tecnologías JavaScript, es normal que Angular sea considerablemente mayor debido a que es un framework, es mucho más robusto con un tamaño de 143 KB. Las demás tecnologías poseen un tamaño menor: React es de 43 KB y Vue es de 23 KB.
El rendimiento actual de Angular, React y Vue resulta muy similar como se observa en los resultados del js-framework-benchmark . Para alcanzar tales rendimientos, React y Vue emplean un DOM virtual.
En la asignación de memoria, como resultado del mencionado benchmark, se muestra el mejor rendimiento para el caso de Vue. Aunque, en la mayoría de los casos, el rendimiento en los proyectos depende de otros factores como las habilidades de los desarrolladores en el dominio de estas tecnologías.
Soporte a largo plazo y migraciones
Como Angular es mantenido por Google y React está potenciado por Facebook, es casi seguro que ambos continuarán creciendo. Ambos ofrecen actualizaciones principales cada seis meses y lanzamiento de nuevas versiones con frecuencia. En adición, establecen períodos de depreciación con la requerida antelación y la información correspondiente para hacer las migraciones. Para el caso de React, es importante tener en cuenta que debido a la versatilidad que presenta e integración con otras bibliotecas para el desarrollo de funciones conjuntas, es necesario velar en las migraciones por los niveles de compatibilidad de estas bibliotecas adicionales con las nuevas versiones.
Por su parte Vue, ofrece una herramienta de ayuda para realizar las migraciones a través de consola de manera sencilla con gran efectividad en aplicaciones pequeñas. Pero esta puede llegar a ser algo inestable en aplicaciones complejas. Como se mostró anteriormente, Vue posee una gran comunidad de desarrolladores en GitHub y es probable que continúe su crecimiento hacia nuevas versiones.
En el próximo artículo nuestro equipo de DevSun Europe continuará con la segunda parte de esta comparación entre Angular, React y Vue.
0 comentarios:
Publicar un comentario