Capítulo 4 - Compilación
Capítulo 5 - NgModules
Capítulo 6 - Directivas
Capítulo 7 - Componentes Avanzados
Capítulo 8 - Router
Capítulo 9 - Inyección de Dependencias
Capítulo 10 - LifeCycle
Capítulo 11 - Pipes
Capitulo 12 - HTTP
Capítulo 13 - UI AngularMaterial \/ PrimeNG
Final
1.1 Por qué Angular?
Hay muchos Frameworks y librerias para el frontend, hoy por hoy, uno podría elegir uno distinto para cada proyecto. Ultimamente ReactJS tomo mucha fuerza y aprecio VueJS también, pero desde el 2009 AngularJS fue una gran desición para muchos (me incluyo) e hicimos muchísimos proyectos! Realmente AngularJS en su momento fue un visionario y creo las directivas, algo parecido a los componentes de hoy en día.
El equipo de Angular aprendió muchísimo en todos estos años, y decidio darle una vuelta de rosca (es una frase muy Argentina, significa: "querer hacer un cambio mas para mejor") y empezar a escribir Angular 2 , que luego se convertiría en solo Angular.
Hablando un poco mas a nivel arquitectura, el framework esta muy avanzado, y realmente es demasiado profesional !

¿Qué quiero decir con esto?

Angular (2 en adelante) esta pensando para poder hacer tanto pequeñas aplicaciones, como aplicaciones muy grandes, y a su vez poder mantener un orden fuerte, tiene grandes integraciones para los componentes (los veremos en capítulos siguientes) y como se maneja todo de una forma muy organizada entre si.
Para los que vienen de lenguajes tipados orientados a objetos, Angular va a ser la desmitificación del frontend, realmente es demasiado fácil de migrar (es hora que vengan al lado oscuro del frontend y dejen java atras).
El core de angular es nuevo y moderno, esta hecho sobre las bases de los nuevos estandartes de las webs modernas y escrito por veteranos del frontend, que ya trabajaron y aprendieron mucho de hacer un framework.
En angular 1, teniamos que entender el modelo de MVC (modelo vista controlador) y como conectarlos, ahora en Angular simplemente tendremos que construir todo en base a componentes, que se puede comunicar entre si, pero solamente escribiremos componentes.
Pensemos en una casa.. una casa es un conjunto de ladrillos (en perspectiva, esta claro que lleva mas cosas) , ahora pensemos en Angular como la casa, y que los ladrillos son componentes, esa seria la idea, nuestra WebApp va a ser un conjunto de componentes con algunas cosas mas!
El desarrollador se tiene que enfocar en crear componentes.

TypeScript

Realmente veo a typescript como uno de los puntos de porque Angular, tal y como leíste un par de paginas antes, Angular se empezo a escribir en AtScript y luego migraron a TypeScript.
TypeScript es un super set de ES6/7 , lo que quiere decir es que tiene esas funcionalidades y mas... entre otras el tipado ( es opcional ) pero esto nos da un montón de beneficios a la hora de trabajar con grandes equipos.
Un orden en el código es importante, tal y como comentar el código o hacer test.
Hoy en día una gran cantidad de equipos no se encuentran en la misma sala para poder trabajar codo a codo, si no que lo hacen desde sus casas o desde oficinas a miles de kilometros de distancia,
Gracias a typescript y su buenas practicas, vamos a poder hacer muchas cosas que van a mejorar esto... olvidarnos de los NaN (not a number) , un poco mas adelante vamos a ver los conceptos de typescript.
Si creen que no necesitan eso, realmente los invito a probarlo (el libro se escribió con typescript) ya que da grandes beneficios, sumado a que los IDE's y Editores de texto, vienen con addons para eso.

Performance y Mobile

El equipo de Angular se dedico a tener gente experta para poder hacer que la aplicación sea mas performante y además que el trabajo en mobile sea rápido y fácil de hacer... Los dispositivos actuales tienen menos limitaciones que los de hace años, pero las conexiones no siempre son las mejores, entonces al pensar en funcionalidades, velocidad y tiempos de carga... se dedicaron a hacer cosas exclusivas para mobile.
Angular, como muchos frameworks/librerias modernas, mejoran la performance gracias a los WebWorkers, y si sabemos utilizarlo bien, esto va a dar una experiencia al usuario de que nuestra app es rápida y fluida.
También tenemos que mencionar a IONIC (en su version 2) que funciona 100% en Angular ( 2 en adelante ) para hacer aplicaciones híbridas. Y a NativeScript que funciona con Angular también (pueden programar solo con JS también) y que compila a nativo (si a nativo dije).
Por ultimo, me gustaria mencionar, que no es solo un "hago todo de otra forma" si no que Angular viene con muchisimas mejoras ademas del typescript mobile y componentes.
Si no que viene con funcionalidades como "form builder", "routing", "annotations", "observables", "shadow dom" entre otras.. por lo tanto hay cosas nuevas por aprender y aprovechar.