Reflexión: ¿Por qué elegí React antes que Angular 2?

Es el momento de pasar de un framework como AngularJS a Angular 2 o a React. He leído mucho acerca de ellos y conocido gente que ha trabajado con ambos. Sin embargo, hay que tomar una decisión acerca de en cuál de los dos centrar el esfuerzo, sin dejar nunca el otro de lado. Aquí reflejo el por qué de mi decisión, React.

En primer lugar, voy a dar un punto de situación, ¿de dónde vengo? ¿dónde estoy? ¿dónde quiero llegar?

  • Comencé estudiando una formación profesional de grado superior en desarrollo de aplicaciones informáticas. Formándome en C, Java y Visual Basic.NET. Al finalizar pasé a la universidad a seguir formándome en Ingeniería informática. Durante mis estudios en la universidad pude comenzar a trabajar profesionalmente, utilizando C#,ASP.NET y algo de Javascript. Además de esto trabaje en algunos proyecto de IA con temas de Redes Neuronales Artificiales y de soporte a la toma de decisiones.
  • Mi situación actual parte del momento en el que acabo mis estudios universitarios y comienzo a desarrollar aplicaciones móviles multiplataforma, para posteriormente continuar desarrollando aplicaciones Web, todo en el ámbito empresarial. Mi papel en todo esto comenzó siendo el de programador FrontEnd y acabando en FullStack Developer. Al comenzar todo esto, mediados/finales de 2014, el stack tecnológico elegido fue: AngularJS, Apache Cordova y C# para el servidor, con una filosfía de Write Once, Run Everywhere. La elección fue muy acertada, pudiendo llevar a cabo aplicaciones móviles, tablet y webs. Teniendo estás aplicaciones un rendimiento y un Look & Feel muy bueno, sin nada que envidiar a aplicaciones nativas gracias al trabajo realizado junto al equipo.
  • AngularJS parece tener sus días contados. La aparición de Angular 2 y el mercado que se llevan otros frameworks como React hacen que, a pesar de seguir recibiendo versiones, parezca un Framework casi deprecated. Por todo ello deseo elegir un nuevo Stack tecnológico de Javascript que me permita crear SPAs de tamaño medio y grande. También me gustaría comenzar a tener en cuenta otras tecnologías para la parte del servidor como NodeJS y seguir reutilizando código y ampliando la filosofía Write Once, Run Everywhere a un nuevo nivel.

Con esto en mente, la elección de tecnologías para el front en javascript se reduce a dos grandes opciones: React o Angular 2. También hay otros frameworks que parecen útiles y que están empezando a crecer rápidamente, como VueJS. Sin embargo, los dos grandes peces gordos en Javascript a día de hoy son Angular 2 y React, teniendo tras ellos un ecosistema y una comunidad enorme.

Resultado de imagen de react vs angular 2
Imagen gracias a: @jwcarrol

Tanto Angular 2 como React tienen características muy interesantes, algunas compartidas y otras únicas. Por ejemplo, Angular 2 y su integración con Typescript son puro amor y la forma en la que se llevan a cabo las plantillas en React es increíble. Para mí las características de uno y otro hacen que estén en un empate (mi comparativa). Aunque React, desde mi punto de vista, siempre ha partido con ligera ventaja, porque compañeros de profesión me hablan muy bien de su experiencia con React.

Para tomar una decisión busqué otros factores diferenciadores fuera de las características técnicas: como el interés y la satisfacción de cada uno de ellos. Comenzando por: ¿cómo están las búsquedas en Google? Que haya personas buscando una tecnología es importante, es un indicador del interés por ella: https://trends.google.es/trends/explore?q=angular%202,%2Fm%2F012l1vxv,vuejs

(NOTA: He buscado Angular 2 como término de búsqueda, React como aplicación y vuejs como término de búsqueda)

Puesto que React es demasiado genérico y ReactJS demasiado específico Google Trends no terminaba de convencerme. Para mi sorpresa me tope con el resultado de una encuesta llamada State of Javascript. http://stateofjs.com/2016/introduction/

Pudiendo ver la siguiente información:

http://stateofjs.com/2016/frontend/

Desgranando un poco la información:

  • AngularJS: 64% del total de las personas lo han utilizado alguna vez y sólamente un 47% de quien lo ha usado, volverá a utilizarlo.
  • React: 58% de las personas lo han utilizado alguna vez. Dentro de quien sí lo ha utilizado hay un 92% de personas satisfechas con el framework que volverían a utilizarlo. De entre las personas que no lo han utilizado y lo conocen hay un porcentaje muy grande de personas que desean aprender React.
  • Angular 2: 20% de las personas lo han utilizado alguna vez. Entre quien lo ha utilizado, un 65% de las personas están satisfechas y volverán a utilizarlo. De las personas que no lo han utilizado y lo conocen hay un porcentaje superior de gente que no desean aprender Angular 2.
  • Vue: Cabe mencionar que un 23% de las personas no conocían este framework, pero que la satisfacción entre quien ha utilizado el framework es alta.

Conclusión

Finalmente, el empate en la comparativa de características técnicas se resuelve para mí por 2 motivos: React tiene un índice de satisfacción muy elevado y levanta mucho interés en la comunidad. Además, debido a las recomendaciones que me han dado personas que trabajan con React, me hace pensar que la estadística de satisfacción con React es correcta. Por lo tanto, la elección final para mí, es React.

React tiene un índice de satisfacción muy elevado. Un 92% de las personas que han trabajado con él volverán a hacerlo, lo que nos dice que hay un gran número de personas que lo consideran una buena elección.
One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.