Dado que Angular 1.4.2 no se parece en nada a Angular 4, ¿vale la pena echarle un vistazo a React ya que cualquiera de las rutas requerirá muchos cambios en nuestro código?

¡Vale la pena mirar Reaccionar, independientemente de si terminas usándolo! Familiarizarse con el paradigma Flux de React será bueno para el crecimiento como ingeniero. Los aspectos estructurales inherentes de una aplicación React hacen que la depuración sea una experiencia menos frustrante en mi experiencia.

Una vez que se construye la funcionalidad principal de su código, React también cuenta con un amplio soporte de la comunidad que le brindará muchas bibliotecas para aprovechar y mejorar la experiencia del usuario de muchas maneras diferentes.

Pero también me gustaría señalar mi aprecio por Angular 4. ¡Un par de ingenieros más y yo construimos una biblioteca de administración de estado de código abierto similar a Redux para Angular 4, y usar Angular 4 fue muy divertido! Aprender TypeScript mientras obtenía un servidor de desarrollo de recarga en caliente directamente desde la instalación me puso el listón a la hora de importar marcos completos.

El dolor de actualizar a Angular valió la pena. He sido capaz de reunir aplicaciones complejas que se escalan tan fácilmente sin nada parecido en todos mis años de experiencia en desarrollo web.

Además, los módulos angulares son intercambiables entre aplicaciones. He construido mi tercero en el trabajo y he podido integrar sin problemas los módulos existentes con facilidad.

Reaccionar definitivamente vale la pena echarle un vistazo. Como implicaste, de cualquier manera te enfrentas a una reescritura total.

Familiarizado con Angular 1.5, he tenido que aprender Angular 4 y React JS durante el año pasado para diferentes clientes. Estamos utilizando React JS para un cliente que está creando un producto de comunicaciones de grupo de productos de campo verde.

La curva de aprendizaje para ser razonablemente productiva en Angular 4 o React era casi la misma (para mí).

Desarrollé una preferencia por React JS porque abre otras posibilidades interesantes, como tener un cliente web React junto con clientes móviles React-Native (iOS y Android) que alcanzan las mismas API de back-end. Si conoce React JS, React-Native es bastante similar y relativamente fácil de aprender.

Si está considerando probar React JS (o React-Native), le recomiendo usar la verificación de tipo estático con Flow o TypeScript. Me gusta la verificación de tipos porque establece un contrato para lo que se pasa y me ayuda a evitar errores de tiempo de ejecución no deseados. El flujo es mejor si su equipo prefiere directamente ES6 JavaScript (mi preferencia personal). TypeScript es el preferido por un equipo con el que trabajo (sospecho que se debe a que se compone principalmente de desarrolladores de Microsoft con antecedentes de C #). También sugeriría investigar un contenedor estatal como redux (preferencia personal) o mobx. Un contenedor de estado (es decir, el envío de cambios de estado a una tienda) parecerá un dolor de cabeza al principio, pero evita que su código se convierta en una bola de pelo de complejidad a medida que escala.

Tanto React JS como Angular 4 ofrecen mejoras significativas sobre Angular 1.5. Mi recomendación es probar React JS.

Todo lo mejor.