This chapter was once again packed with content. Congratulations on making it this far!
We started by learning about what modern web applications are all about and how they differ from old-school ones. We learned about the differences between SSR and SPA. We also briefly talked about mobile-first, RWD, and PWA.
These ideas are all at the core of the modern web and any developer who is serious about building web applications should learn as much as possible about these concepts.
Following that, we defined what modern web frameworks can do for us. This, of course, led us into the main topic of this chapter: Angular!
Before diving into it, we finally discovered a bit more about TypeScript decorators, which are extensively used by Angular.
Given that Angular is a large framework, we had to introduce many concepts and ideas, such as modules, components, templates, bindings, life cycle hooks, directives, pipes, forms, DI, and more.
Of course, being faced with so much information all at once can be overwhelming, but the goal, above all, was to at least make you aware of the depth of Angular.
Its learning curve is certainly steep, but you don't need to learn everything at once. Learning a framework is always a journey. You'll never know everything about it, but if you use it for a while, you'll start recognizing patterns, and then gain confidence and increase your productivity.
Knowing that Angular has so much to offer is important when assessing which frontend framework or library to use. Of course, it is huge and you might only need a fraction of it for now; however, if you need to use it later, you know that it'll probably be there, waiting for you.
In this chapter, we've also learned about a few more design patterns such as the observer pattern, as well as programming paradigms such as AOP, RP, and FRP.
Finally, we also explored RxJS and the Observable contract. We could only go so far on those topics, but don't hesitate to go further on your own—you won't regret it!
In the next chapter, we will use our newly acquired skills to rewrite the MediaMan application using Angular.