👋 Welcome, Angular Enthusiast
Welcome to the 22nd edition of the Angular Addicts Newsletter, a monthly digest of handpicked Angular resources that caught my attention. (You can find the 21st, 20th, and 19th editions here.)
📢 Version Updates
📢 Angular 17.1: A Closer Look
This month saw the release of Angular's newest minor version. Cédric Exbrayat breaks down the key highlights in his latest post:
- TypeScript 5.3 compatibility
- Signal-based inputs
- Zoneless change detection via a new private API
- Router: added
infooption withinNavigationExtras - Streamlined control flow migration
- Enhanced Angular CLI features
💎 January 2024's Angular Highlights
📰 11 companions for state management in Angular
Alexander Goncharuk outlines 11 guidelines, each paired with "Avoid" and "Prefer" examples and thorough justifications:
- Leverage specialized state management tools
- Opt for local state unless there's a compelling reason for global state
- Restrict component code to view-specific logic
- Maintain a clear separation between stateful and stateless services
- Retrieve state synchronously where appropriate
- Don't create "proxy methods" without a clear need
- Ensure selectors return multicasted observables
- Use state management APIs as a foundation, not a constraint
- Favor pure functions and static methods
- Handle errors within effects consistently
📰 Understanding Derivations in Reactive Systems
Ryan Carniato explores the theoretical foundations of reactive systems, clarifying the difference between derivations and synchronization. He tackles the complexities of maintaining glitch-free consistency during state changes and compares three distinct strategies: pull-based scheduling, push-based events, and push-pull signals.
📰 Strategies for Testing Angular's Newest Features
Rainer Hahnekamp shares testing approaches for Angular's recent additions:
- Mocking services within standalone components
- Using
TestBed.runInInjectionContext()for unit testing with theinject()function - Simplifying routed component tests with
RouterTestingHarness
📰 Exploring Signal Inputs in Angular
Signal Inputs stand out as a major feature in Angular 17.1. Kevin Kreuzer discusses the advantages of reactive inputs and contrasts computed signals with the transform property. He also clarifies required inputs and aliasing, shows how to use router parameters with Signal Inputs, and presents a straightforward way to manage side effects when inputs change.
👨💻 A Note on the Author
I'm Gergely Szerovay, a frontend development chapter lead. My passion lies in both teaching and learning Angular, and I immerse myself in Angular-related content daily—articles, podcasts, and talks.
The Angular Addict Newsletter was created to share the most valuable resources I encounter each month, catering to both seasoned experts and newcomers alike.
Beyond the newsletter, I manage a publication fittingly named Angular Addicts, a curated collection of informative and intriguing resources. Feel free to reach out if you'd like to contribute as a writer.
Let's continue our Angular journey together! Subscribe here 🔥
Connect with me on Substack, Medium, Dev.to, Twitter, or LinkedIn for more Angular insights!
🕹️ Catch Up on Past Issues
Missed an earlier edition? Review them all here. The three most recent are:
- Angular Addicts #21: signal stores, router unit testing & more
- Angular Addicts #20: unit testing the new defer blocks, NGRX Signal store extensions, app architectures & more
- Angular Addicts #19: Angular 17, NX 17, Storybook 7.5 & more
📨 Share Your Angular Finds
Stumbled upon a fascinating Angular article, tweet, or resource recently? Drop a comment below or message me on Twitter! Your suggestion could be featured in an upcoming Angular Addicts issue!
