Introducción
La constante aparición de nuevas alternativas para desarrollar soluciones frontend genera confusión sobre qué tecnología utilizar para un nuevo desarrollo. Como es lógico, cuando vamos a iniciar un nuevo proyecto queremos que esté lo mejor posible en todos los aspectos: código, rendimiento, escalabilidad, etc.
Sin duda, en el mundo frontend hay dos actores muy galardonados (y criticados) por la comunidad. Estoy hablando de AngularJS y ReactJS, un framework y una librería que poco tienen que ver. Y es que ambos generan suficientes artículos en la red, pero a menudo se les intenta comparar sin entender las diferencias básicas entre ambos.
AngularJS: La navaja suiza del desarrollo frontend
El enfoque que Google quiso dar desde sus inicios a este framework es bastante claro: una solución única para el desarrollo frontend, donde podremos trabajar con controladores, vistas, enrutador, etc.
Las ventajas del enfoque «todo en uno» son notables:
- No necesitaremos dependencias de otros frameworks o librerías frontend.
- Si se actualiza con mejoras, todo nuestro proyecto se beneficiará de ello.
- Sencillez a la hora de desarrollar.
- Unificación de la documentación.
- Profesionales disponibles con un foco muy específico.
- Etc.
Sin embargo, como suele ocurrir con este tipo de soluciones, quien mucho abarca poco aprieta, y si el desarrollo no se inicia siguiendo buenas prácticas o el proyecto crece demasiado, el rendimiento puede comenzar a verse afectado o la flexibilidad para personalizar ciertos aspectos del código (implementar nuestras propias soluciones) puede limitarnos.
ReactJS: Un ninja construyendo interfaces de usuario
El uso de Facebook y sus servicios es enorme, por ello el manejo de tal cantidad de información en la interfaz de usuario se volvió pronto muy complejo e ineficiente. Por esta razón, desde Facebook se buscó una solución que resultó en lo que hoy conocemos como React.
La funcionalidad de esta librería es muy clara: generar vistas para reflejar cambios de estado en la aplicación. Para ello implementa su famoso DOM virtual, que es la magia para realizar las actualizaciones en la vista de forma tan eficiente.
El enfoque que Facebook le ha dado a React es hacer una cosa pero hacerla mejor que los demás.
No son lo mismo, no los comparemos
Ya que no son lo mismo, compararlos sólo puede llevar a conclusiones erróneas y artículos que busquen generar contenido para atraer visitas. Estamos ante la misma situación que un tiempo atrás, cuando AngularJS comenzaba a sonar y los blogs y foros de la red estaban repletos de comparativas jQuery vs AngularjS.
Actualmente existen grandes productos y servicios basados en Angular, como por ejemplo Ionic v2, que ofrece la posibilidad de desarrollar aplicaciones híbridas basándose en el framework de Google.
A su vez, existen múltiples sitios que implementan React en sus entornos productivos, como Instagram, Netflix, Airbnb, WhatsApp… Aquí encontraréis un listado con más información.
Si queréis comentarnos lo que sea, podéis hacerlo en info@kabel.es.
También podéis seguirnos en Twitter y LinkedIn.