Si bien es cierto que estas herramients no son los únicas que se pueden utilizar para crear aplicaciones web, si es cierto que ambas se encuentran de manera constante en el top 10 de las mejoras opciones para hacerlo, lo cual puede generar una inquietud dentro del desarrollador, ¿Cuál debo de elegir?, a continuación se compará a Angular vs React dando da conocer las ventajas y desvantajas de ambas herramientas, con la intencion de poder dar una respuesta a esta pregunta.
-
La popularidad del framework:
Si se busca en sitios que brindan estadísticas, como por ejemplo Google Trends, se podrá ver el siguiente gráfico:

Como se puede apreciar, en el último año React ha sido un tema de mayor interés, lo cual no dice que Angular sea una mala herramienta, pero al ser React el tema más buscado entre los dos puede señalarque se cuenta con una comunidad más extensa de desarrolladores que crean librerías y dan soluciones a posibles problemas, lo cual significa menos tiempo utilizado en la búsqueda de una solución.
-
La complejidad del framework:
Se dice que React le da más libertad al desarrollador acerca de cómo se quiere estructurar el código y por ende es más sencillo de aprender y empezar a crear una aplicación con él, dicho esto para poder realizar este proceso con React se necesita la implementación de librerías de terceros, esto debido a React en si es una librería de Javascript, y necesita de otras componentes para realizar esta acción de manera correcta.
Por otro lado Angular al ser un framework si tiene un nivel de complejidad un poco más elevado, esto por el hecho de que su sintax puede que no sea tan natural para los desarrolladores, sin embargo desde mi perspectiva una vez que se entiende, se vuelve un gran aliado en la creación de páginas dinámicas.
-
JSX vs HTML:
Ambas opciones tienen una manera muy particular de crear las páginas web, React tiene JSX ,en donde se tiene tanto la parte lógica como el html en un solo archivo, lo que podría resultar más cómodo, cabe destacar que al momento de compilar la aplicación todas expresiones JSX serán expresiones javascript normales, un ejemplo de JSX se presenta a continuación:

Angular utiliza html en conjuunto con directivas estructurales, para mostrar o esconder ciertas partes del DOM y así crear una página más dinámica, basado en las interacciones del usuario.
-
Desempeño:
Una desventaja que presenta Angular es la utilización de un DOM normal, esto quiere decir que cuando se realiza un cambio en una página todo el DOM se actualiza, lo cual, si se realizan muchos puede hacer que este proceso sea un poco lento, por otro lado React utiliza un DOM virtual, lo que significa que solo los elementos que fueron modificados son los que se actualizan, lo cual obviamente hace que este proceso sea más rápido.
-
Compatibilidad con versiones anteriores:
Una gran ventaja que presenta React es que al ser una librería se pueden instalar diferentes versiones de ella en la aplicación, en Angular no se puede usar diferentes versiones dentro de una misma aplicación, por lo que si por ejemplo estamos usando Angular 6 y queremos utilizar Angular 8 debemos de descargar las actualizaciones de cada versión una por una.
-
Vinculación de los datos:
Como se mencionó anteriormente Angular utiliza directivas estructurales para poder crear páginas más dinámicas, sin embargo cuenta con otra funcionalidad que se llama » Vinculación bidireccional de datos», esto lo que quiere decir es que se puede leer y escribir a un objeto en tiempo real, lo cual es muy beneficioso cuando el objeto en el cual se escribe se va a almacenar en una base de datos, por otro lado React cuenta con «Vinculación de datos en un solo sentido» lo cual significa que solo se puede leer el objeto, sin embargo existe una librería para React llamada Redux, que nos puede ayudar en este proceso.
Regresando a la pregunta ¿cuál debo elegir?, se debe tener claro que ambas herramientas son más que capaces que realizar el mismo tipo de trabajo, a su propia manera, por lo que la respuesta a esta pregunta recae más sobre con cuál de las dos el equipo de trabajo se siente más cómodo.
En Forgin contamos con profesionales con experiencia en desarrollo web, que le ayudarán a crear la página web que su empresa merece ¡Hablemos!




