👋Welcome, Angular Enthusiasts
Welcome to the 14th edition of the Angular Addicts Newsletter — a monthly roundup of high-quality Angular resources that have caught my eye. (You can explore the first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh, twelfth, and thirteenth issues here.)
📢Release highlights
📢Angular v16 is now available!
The Angular team shipped version 16 this month. Minko Gechev breaks down the headline features in the official release notes.
I've compiled a rundown of the biggest additions and changes, along with learning resources, in these two follow-up pieces:
💎Angular Gems of May, 2023
📰SignalStore RFC
The NgRx team, together with Marko Stanimirović, put forward a new RFC for SignalStore — a state management solution built around signals. The design closely mirrors @ngrx/component-store. A working prototype is available, along with its API docs, in the NgRx SignalStore playground repo.
To get a better feel for the feature, I put together an “article list” component in two flavors. I started with a ComponentStore-based implementation, then switched it over to a SignalStore-based approach. For a detailed walk-through of the migration steps and the key differences I encountered, you can review my write-up: From NgRx ComponentStore to SignalStore: the key takeaways from my demo project. It covers both the implementation and how SignalStore behaves in practice.
📰Add Superpowers to your Angular Inputs 🔋 (New feature 🎉)
Angular v16.1 will introduce support for transform functions in the @Inputs decorator on components. Enea Jahollari demonstrates with practical examples how these transforms work.
In a related piece, Gaurav Mukherjee shows how to leverage input transforms to create signal-based inputs in your components, titled "How to enjoy signal-based input right now!"
Keep in mind that this capability ships starting with the v16.1.0-next.3 prerelease.
📰Accessing route params in Angular
Thomas Laforge walks through the different ways to read route and query parameters in Angular. He breaks the options down into:
-
ActivatedRoute'ssnapshotandparamsproperties - Ngrx Router Store
- RouterInput in Angular v16
📰High ROI Testing With Cypress Component Testing
Christian Lüdemann offers a preferred testing approach that is influenced by Kent C. Dodds' testing trophy. The strategy centers on:
- Keeping a small set of E2E smoke tests (Cypress)
- Writing integration tests for functionality (Cypress component testing)
- Handling edge cases, pure functions, and calculations with unit tests (Jest)
- Relying on static analysis: use strict typing via Eslint and Typescript
In addition, he explains how to set up Cypress and structure your test suites for optimal efficiency.
📰Deactivate Angular NgZone selectively — the easy way
RxAngular's unpatch directive offers a way to run parts of your app without NgZone, giving you finer control over change detection. Daniel Glejzner illustrates how you can put this directive to use in various scenarios.
📰Angular Developer Survey 2022 Results Summary
Almost 12,000 developers answered the call for the Angular Developer Survey. Minko Gechev gives a summary of the findings and outlines how they are shaping Angular's roadmap.
📅Events and recordings
📅Angular at Google I/O 2023
The recorded sessions from Angular at Google I/O 2023 are up on this playlist. Among them you will find:
- Developer keynote
- What’s new in Angular (Minko Gechev, Madleina Scheidegger)
- Rethinking reactivity with Angular Signals (Emma Twersky, Simona Cotin)
- Getting started with Angular Signals (Emma Twersky, Alex Rickabaugh)
👨💻About the author
I'm Gergely Szerovay, working as a frontend development chapter lead. I'm passionate about both teaching and learning Angular. Every day I absorb whatever I can in the Angular space — articles, podcasts, talk videos — you get the picture.
I started the Angular Addict Newsletter as a way to pass along the most interesting resources I encounter each month. Whether you've been working with Angular for years or you're just starting out, there's something in here for you.
In addition to the newsletter, I also curate a publication — naturally — called Angular Addicts. It gathers the articles I deem most valuable and insightful. If you'd like to contribute, feel free to reach out.
Let’s continue learning Angular together! Subscribe today and stay in the loop 🔥
You can catch me on Medium, Dev.to, Twitter, and LinkedIn. See you there!
📚 Earlier editions
In case any of the prior newsletters slipped past you, the full archive is available here. The three most recent installments are:
- Angular Addicts #13: Angular v16, NX v16, SPARTAN & more
- Angular Addicts #12: Signals 🚦, Code organization principles, WebExpo & more
- Angular Addicts #11: Signals 🚦 is coming, Angular 15.2: automatic migration to standalone components & more
📬 Share your Angular finds
Stumbled upon a noteworthy Angular article, tweet, or other resource — or written one yourself? Drop a comment below or reach out on Twitter. Your discovery could land in the next edition of Angular Addicts!
