Escuché que Angular tiene 3 marcos de trabajo diferentes pero no conectados, con todas las versiones extendiéndose a marcos completos dentro de su plataforma. ¿Es esto como el elemento de tener diferentes versiones principales para diferentes diseños?

Angular tiene dos “versiones”: AngularJs y Angular.

AngularJs es cualquier versión inferior a 2.0 (por ejemplo, 1.3.1). Angular es cualquier versión mayor que 2.0.

Angular usa versiones semánticas (Semantic Versioning 2.0.0). Por alguna razón, a las personas les cuesta mucho entender esto y se asustan cuando Angular pasa de 2 a 4. (Esto no es lo mismo que pasar de 1 a 2)

Cada 6 meses aproximadamente habrá una nueva versión principal de Angular. Esta versión tendrá cambios importantes de la versión principal anterior. La mayoría de las veces estos cambios serán bastante pequeños y se pueden trabajar como parte del mantenimiento normal del software (ya que es una buena práctica mantener las bibliotecas actualizadas).

Esta es una versión de software bastante normal y cómo las mejoras deberían trabajarse en el software (de lo contrario, el software no mejoraría y / o se cargaría con el mantenimiento de un diseño deficiente y / o fallas de diseño en nombre de la compatibilidad con versiones anteriores (lo cual es comprensiblemente necesario para algún software) )

AngularJs y Angular son dos bestias completamente diferentes. No son de ninguna manera compatibles (aunque hay una ruta de actualización de AngularJs a Angular que agrega cierta compatibilidad si eres un masoquista).

En 2017, debería usar Angular para cualquier nuevo desarrollo y no AngularJs. Debería estar usando la última versión principal (a partir de septiembre de 2017, Angular 5.0 está lo suficientemente cerca como para lanzar para comenzar a usar).