React vs Angular 2 , frameworks vs librerias

Vamos a comparar React vs Angular 2 . ¿Cual es la mejor solución a nuestros problemas? .  Angular2 tiene un fuerte apoyo por parte de Google pero lo mismo sucede con React y Facebook.

Angular 2

En estos momentos Angular2 este en pleno proceso de ebullición , ha salido la versión 2 pero si miramos al roadmap el tema avanza a velocidades de vertigo, en breve tendremos una versión 4.

Angular2 se apoya fuertemente en TypeScript como lenguaje de referencia y esta intentando convertirse en el Framework  de JavaScript. No sabemos en estos momento si lo conseguirá , pero es cierto que Google lo apoya.  También es cierto que el salto es importante respecto a Angular 1.x. Sus características principales son:

TypeScript: Usa TypeScript como lenguaje compilado para crear las aplicaciones.

Sistema de módulos: Se apoya en un sistema de módulos sólido.

Inyección de dependencias: Incluye un sistema de inyección de dependencias basado en anotaciones.

Streams: Soporte de programación asíncrona compleja a través de Rx.JS

Componentes: Incorpora un sistema de componentes claro que ayuda a modularizar el código.

Podría seguir listando características pero no es lo importante . Esta claro que Angular2 es un framework muy pensado y que tardará un poco en llegar . ¿ Entonces porqué mucha gente apuesta por React? . Esta es una buena pregunta.  Recordemos sobre todo que el éxito de Angular 1.x fue total y la comunidad de desarrolladores esta esperando la actualización.

Angular 2 madurez

La respuesta habitual suele ser  que a Angular le falta madurar un poco ,  que este año será el gran salto,  que todavía esta un poco verde etc . Desde mi punto esto es un problema , pero no es el problema de fondo. El problema es que Angular2 nos pide que aceptemos un GRAN CAMBIO , que apostemos por su plataforma como un TODO y rediseñemos nuestra arquitectura de una forma IMPORTANTE . Esto no es ni bueno ni malo ,  simplemente es una opción . Ahora bien es una opción que conlleva un esfuerzo considerable.

React vs Angular 2

React es otro enfoque, es una librería de JavaScript que apuesta por el desarrollo de componentes en la capa de presentación usando el concepto de VirtualDOM. En un primer momento no parece nada del otro mundo.

Hay que tener claro que React si es un salto a nivel de Arquitectura , ya que genera un modelo de componentes en Javascript pensado. ¿Hay algo más que la haga ponerse a la altura de Angular2? . En principio no lo parece.  Angular2 aporta mucho y React es muy pequeño. Sin embargo la respuesta es SÍ. React es una solución que podemos integrar con muchas de nuestras arquitecturas existentes , sin tener que abordar un esfuerzo tan fuerte. 

Incluso podemos usar React y algunas librerías complementarias para aportar una solución más sólida y tipo MVC. Su flexibilidad será clave y veremos en muchos lugares el uso de React como una forma de evolución más pausada . De alguna forma se asemejaría a lo que sucede con los frameworks en el mundo Java EE.  En algunos proyecto de Java se opta por JPA y en otros por MyBatis o por JDBC + algo. No es raro cambiar el framework de persistencia dependiendo de la situación. Sin embargo es muy extraño que en unos se apueste por Java EE como standard y en los otros por Spring. La pieza que integra y  define el corazón de la arquitectura no se cambia tanto. Esto es lo que Angular 2 viene a ser , el core de nuestra plataforma Javascript.

Resumen

Así pues no es un tema de si  Angular2 es  mejor que React o React mejor que Angular 2, es un tema de como deseamos diseñar nuestra arquitectura

Otros artículos relacionados  con React vs Angular 2: React y JSX   , Virtual DOM , Angular 2 y el futuro de las arquitecturas web