
Learn Angular for free: resources you shouldn't miss (2/2)
Learn Angular for free: top online resources you shouldn't miss (2/2)
Welcome to the second part of our comprehensive Angular learning resource guide! In the first part, we covered the foundational concepts of Angular. Now, we'll dive into advanced topics that will elevate your Angular expertise to the next level.
This segment focuses on reactive development, forms, testing, architecture, and the latest Angular features. These carefully curated resources will help you master the more complex aspects of Angular development.
RxJS
RxJS plays a vital role in Angular, enabling us to handle asynchrony, reactive programming, state management, and the composition of operations within our applications. While there is a perception that mastering RxJS can be challenging, I believe that learning RxJS itself is not overly complex. However, it does require a significant investment of time and patience.
I have curated a selection of five videos that serve as excellent introductions to RxJS. The first video by Joshua Morony explores three different approaches to learning RxJS. Next, Mike Pearson's speech at ng-conf demonstrates the distinction between an imperative and reactive approach through a practical example. Laith Academy offers a comprehensive hour-long course that explains the fundamentals of RxJS from scratch.
- Video - 3 Levels of Learning RxJS Operators by Joshua Morony
- Video - Thinking Reactively: Most Difficult by Mike Pearson
- Video - RxJS Crash Course by Laith Academy
- Video - Hot vs. Cold Observable in RxJs (2021) by Dmytro Mezhenskyi
- Video - A Guided Approach to Learning RxJS with BrianLove by Brian Love
RxJS Operators
As mentioned earlier, the number of operators in RxJS is extensive, totaling over 100. However, we typically rely on a selected set of operators in everyday programming. The more familiar we are with the capabilities of RxJS, the more effectively we can produce high-quality code.
The first featured resource by Joshua Morony focuses on the most commonly used RxJS operators. In the second material, Mike Brocchi and John Niedzwiecki shed light on 20 lesser-known operators that are often overlooked. The following videos explore the distinctions between various transformation operators.
- Video - I only ever use these RxJS operators to code reactively by Joshua Morony
- Video - 20 RXJS Operators in 20 minutes by Mike Brocchi & John Niedzwiecki
- Video - I switched a map, and you'll never guess what happened next by Pete Darwin, Shai Reznik, and Mike Brocchi
- Video - RxJs Operators - ExhaustMap vs. concatMap (2021) by Dmytro Mezhenskyi
- Video - RxJs switchMap vs mergeMap - Intro to Flattening Operators (2021) by Dmytro Mezhenskyi
- Video - RxJs Zip - Real-Life Analog of ZIP operator (2021) by Dmytro Mezhenskyi
- Video - RxJs Schedulers - Why do we need them? (Advanced, 2021) by Dmytro Mezhenskyi
- Article - RxJS hint [first, take(1)] by Wojciech Trawiński
- Article - RxJS hint [filter, takeWhile] by Wojciech Trawiński
- Article - RxJS hint [retry] by Wojciech Trawiński
- Article - RxJS hint [repeat] by Wojciech Trawiński
RxJS Best Practices
As we explore the capabilities of RxJS, it is crucial to also familiarize ourselves with the best practices associated with it. I recommend watching Michael Hladky's presentation at the ng-conf conference to gain insights into these practices. In his workshop-style talk, Michael demonstrates advanced patterns that can be applied in business applications.
- Video - RxJS Advanced Patterns – Operate Heavily Dynamic UI's by Michael Hladky
- Video - RxJS Best Practices Aren't Always Black and White by Deborah Kurata
- Video - Reactive patterns for Angular Enterprise Solutions - NG-BE 2023 by Brecht Billiet
- Article - The Most Impactful RxJs Best Practice Of All Time by Tomas Trajan
- Article - RxJS best practices in Angular by Brecht Billiet
RxJS Testing
Testing RxJS code is often considered a challenging aspect to master, but there are valuable resources available to aid in understanding this process. Kevin Kreuzer's video provides insights into using marble tests for testing reactive code. Joshua Morony's comprehensive material demonstrates various techniques for testing reactive code in different components.
- Video - Marble testing with RxJS testing utils by Kevin Kreuzer
- Video - Is reactive code with RxJS too hard to test? by Joshua Morony
Signals - New Feature Angular 16
In recent months, signals have emerged as a highly discussed topic among Angular developers. This feature was introduced as a developer preview in Angular version 16. I recommend starting with the first two videos created by Angular's official YouTube account to delve into this exciting development.
- Video - Rethinking reactivity with Angular Signals by Angular
- Video - Getting started with Angular Signals by Angular
- Video - Reactive Angular. At its core. - NG-BE 2023 by Pawel Kozlowski
- Video - Signals & fine grained reactivity in Angular - NG-BE 2023 by Michael Hladky
- Article - Angular Signals WWW by Sander Elias
Forms
Mastering forms is a crucial aspect when it comes to building major business applications. In this section, I have curated a selection of videos and articles that will introduce you to various aspects of forms in Angular.
Fireship and Decoded Frontend have created informative videos covering the basics of reactive and template forms. Joshua Morony's video showcases the creation of dynamic forms based on JSON, offering insights into building dynamic and customizable form structures.
- Video - Reactive Forms - The Basics by Fireship
- Video - Advanced Angular Forms - Free Mini-Course (Template-Driven) by Dmytro Mezhenskyi
- Video - Create a Dynamic Reactive Angular Form with JSON by Joshua Morony
- Video - Control Value Accessor in Angular [Advanced, 2020] by Dmytro Mezhenskyi
- Article - Angular Typed Reactive Forms by Preston Lamb
- Article - Typed Reactive Forms in Angular — No Longer a Type Dream 💭 by Netanel Basal
- Article - Create a Multi-Step Form in Angular by Netanel Basal
Testing
I once came across a tweet stating that testing Angular applications is often more challenging than writing the code itself. To delve deeper into the mechanics of writing effective tests, I recommend watching the following videos:
Reiner Hahnekamp delivers a speech showcasing various testing techniques in Angular. Shai Reznik's presentations focus on Angular's Test-Driven Development (TDD) approach. Maria Korneeva's video explores the use of Jest in Angular's unit tests.
- Video - Testable Architecture in Angular by Rainer Hahnekamp
- Video - Angular Testing In TDD by Shai Reznik
- Video - Angular TDD Like You Never Seen Before by Shai Reznik
- Video - Angular + Jest: Testing Titbits by Maria Korneeva
- Video - Getting Started with Angular Component Testing by Jordan Powell
State Management
The resources provided below will assist you in exploring the concept of state management and determining whether the usage of libraries like NgRx or rx-angular is necessary. It's important to note that this is a vast topic, and definitive answers may be elusive as the decision relies on various factors.
- Video - My go to way to manage state in Angular applications by Joshua Morony
- Video - State Management in Angular - Do I need Redux & NgRx? (2021, Advanced) by Dmytro Mezhenskyi
- Video - How to use NgRx ComponentStore? - NG-DE 2022 by Alex Okrushko
- Video - RxAngular State, The Component Reactive Store by Younes Jaaidi
- Article - Managing State in Angular Applications by Victor Savkin
Architecture
In the first video, Manfred Steyer explores lightweight architectures using the latest innovations in Angular. Tomas Trajan's article presents a quick guide on building an epic Angular application with clean architecture. Then three books that talk about the use of Nx to create scalable Angular applications.
- Video - Lightweight Architectures with Angular's Latest Innovations - NG-BE 2023 by Manfred Steyer
- Article - How to architect epic Angular app in less than 10 minutes! ⏱️😅 by Tomas Trajan
- Book - The Angular Developer's Nx Handbook by Lars Gyrup Brink Nielsen
- Book - Enterprise Monorepo Angular Patterns by Nitin Vericherla & Victor Savkin
- Book - Micro Frontends and Moduliths with Angular by Manfred Steyer
"Learning by reading is good, but learning by doing is better."
Engaging in problem-solving is an incredibly valuable approach to learning Angular. Thomas Laforge has developed a project that offers a hands-on experience, enabling you to enhance your Angular skills by tackling real-world challenges commonly encountered in your professional journey.
- Interactive - Angular Challenges by Thomas Laforge
Angular 16
Angular 16 has brought us a lot of good, many new opportunities. Make sure to explore the dedicated Signals section mentioned earlier. In addition, I wanted to put here some materials prepared by Minko Gechev, Angular Team, and Manfred Steyer, in which they listed all the news from the new version of Angular 16.
- Article - Angular v16 is here! by Minko Gechev
- Video - New framework features in Angular v16 by Angular
- Article - What's new in Angular 16? – Signals, Hydration, esbuild and More! by Manfred Steyer
Acknowledging the Incredible Contributors
I would like to thank all the creators who made this list possible. Each of you creates amazing content that allows us to become better programmers. In the second part of the article, the creators of the materials are (in alphabetical order):
- Alex Okrushko
- Angular Team
- Brecht Billiet
- Brian Love
- Deborah Kurata
- Dmytro Mezhenskyi
- Fireship
- Jordan Powell
- Joshua Morony
- Kevin Kreuzer
- Laith Academy
- Lars Gyrup Brink Nielsen
- Manfred Steyer
- Maria Korneeva
- Michael Hladky
- Mike Brocchi
- Mike Pearson
- Minko Gechev
- Netanel Basal
- Nitin Vericherla
- Pawel Kozlowski
- Preston Lamb
- Rainer Hahnekamp
- Sander Elias
- Shai Reznik
- Thomas Laforge
- Tomas Trajan
- Victor Savkin
- Wojciech Trawiński
- Younes Jaaidi
Their dedication and hard work deserve our appreciation and gratitude. I encourage everyone to follow these talented authors, engage with their content, and support their ongoing efforts to empower and educate Angular programmers.
Conclusion
This concludes our comprehensive two-part guide to learning Angular for free. We've covered everything from foundational concepts in Part 1 to advanced topics like RxJS, testing, architecture, and the latest Angular features in this second part.
Key Takeaways:
- RxJS Mastery - Start with the basics and gradually work your way up to advanced patterns
- Hands-on Practice - Use Angular Challenges to apply what you've learned
- Stay Current - Keep up with the latest features like Signals and new Angular versions
- Test Everything - Learn testing early and make it part of your development process
- Architecture Matters - Understand how to build scalable, maintainable applications
Your Learning Journey:
Remember, becoming proficient in Angular is a journey, not a destination. The Angular ecosystem is constantly evolving, and staying curious and engaged with the community is key to your success.
Start with the basics, practice consistently, and don't be afraid to tackle challenging projects. The Angular community is incredibly supportive, and these resources will guide you every step of the way.
Happy coding, and welcome to the exciting world of Angular development! 🚀

Comments