Angular Addicts #24: Angular 17.3, Signals and unit testing best practices, Storybook 8 & more
My favorite Angular resources of March, 2024
👋Hey fellow Angular Addict
This is the 24th issue of the Angular Addicts Newsletter, a monthly collection of carefully selected Angular resources that got my attention. (Here are the 23rd, 22nd and 21st issues.)
📢Release announcements
📢What's new in Angular 17.3?
The latest minor version of Angular (17.3), was released last month. I've listed and explained the most important changes and new features in this article: What's new in Angular 17.3.
📢Storybook 8
Michael Shilman 's article covers the main things you need to know about the new Storybook version:
Built-in visual testing
React Server Component support
Upgraded Vue and React control autogeneration
Rearchitected Vite support, Vitest testing, and Vite 5 support
2-4x faster test builds
Refreshed desktop UI
Rebuilt mobile UX
Removed React dependency for non-React projects
🎫 Win a free ticket to WebExpo Conf (Prague, Czechia, May 29-31, 2024)
WebExpo is a conference for developers, designers and anyone involved in creating digital products and services. It’s my favorite conference I have ever been to, and just like last year, I’m a community partner of the event, so I can give away one free ticket to my followers!
➡️HOW TO WIN A TICKET?
To participate in the raffle, subscribe to Webexpo's newsletter: https://webexpo.net/webexpo-newsletter/.
Then please send a screenshot of your subscription to this email address: gergely.szerovay+we24@gmail.com with the following email subject: “WebExpo Angular Addicts Ticket”.
I will accept entries submitted to this email address before Monday 23:59 CEST (22. April 2024).
Some conditions: the prize is a conference ticket, which provides the winner with access to the program of the conference days May 29-30. Premium Workshops (May 31) are not included in the conference ticket. The conference ticket is not transferable to someone else and there is no refund in case the winner doesn't arrive or cancel. Flight tickets or accommodation are not included in the conference ticket.
So these are the steps:
1️⃣ Subscribe to Webexpo's newsletter
2️⃣ Send me an email with the screenshot
❗️Please check out the DATE & LOCATION first, and only participate in the contest if you’d surely attend the event! Thanks for your consideration! And please share this opportunity with your friends and network!
The winner will be randomly selected on Tuesday (23. April 2024).
I’ll contact the winner via email.
GOOD LUCK!
WebExpo 2024 Conference website:
📆 WebExpo dates: May 29-31, 2024
📍 Location: Prague, Czechia
🎞️ Here you can watch back previous talks
🏷️And if you want to purchase a ticket, use the code "ANGULAR" at the checkout to get 20% off.
💎Angular Gems of March, 2024
📰Angular Signals: Best Practices
In his article, Evgeniy Tuboltsev (OZ) points out what we should consider when we use signals, computed
s, and effect
s, or mix signals with observables.
📰This is your sign(al) to try TanStack Query & Angular
Robin Goetz explains to us the origins of the TanStack Query data-fetching library and what is a server state. Then he summarizes, what the biggest challenges are, when we manage the server state, and how TanStack Query addresses these issues. He also shows us examples for data queries and mutations, client-side invalidation, and explains how he uses TanStack Query with modern Angular.
📰 Angular with NativeScript: Creating the Blackout Lighting Console
In his blog post, Nathan Walker shares with us how they built the Blackout Lighting Console iOS app using Angular with NativeScript and NgRx state management. For database, they use: SQLite for the local offline database, and Supabase for remote syncable database. They built the UI with Angular templates, Apple's UIKit and SwiftUI open source libraries.
📰 Mastering Angular Unit Testing: Best Practices and Tools
In is article, Sonu Kapoor shares his experiences with unit testing in Angular, covering the following topics:
Why should you unit test?
Why should you mock and what are the advantages/disadvantages?
What are SIFERS and why should you care?
What is the Angular Testing Library (ATL)?
Testing using SIFERS
Querying DOM elements and dispatching events
What are jest-auto-spies and observer-spy?
👨💻About the author
My name is Gergely Szerovay, I worked as a data scientist and full-stack developer for many years, and I have been working as frontend tech lead, focusing on Angular based frontend development. As part of my role, I'm constantly following how Angular and the frontend development scene in general is evolving. To share my knowledge, I started the Angular Addicts monthly newsletter and publication in 2022, so that I can send you the best resources I come across each month. Whether you are a seasoned Angular Addict or a beginner, I got you covered. Let me know if you would like to be included as a writer. Let’s learn Angular together! Subscribe here 🔥
Angular has evolved very rapidly over the past few years, and in the past year, with the rise of generative AI, our software development workflows have also evolved rapidly. In order to closely follow the evolution of AI-assisted software development, I decided to start building AI tools in public, and publish my progress on AIBoosted.dev. Join my on this learning journey: Subscribe here 🚀
Follow me on Substack (Angular Addicts), Substack (AIBoosted.dev), Medium, Dev.to, Twitter or LinkedIn to learn more about Angular, and how to build AI apps with AI, Typescript, React and Angular!
🕹️Previous issues
If you missed the previous issues of the newsletter, you can read them here, these are the latest 3 issues:
Angular Addicts #23: Angular 17.2, Nx 18, Signal forms, Analog, WebExpo & more
Angular Addicts #22: Angular 17.1, Signal Inputs, State management tips & more
Angular Addicts #21: signal stores, router unit testing & more
📨 Submit your Angular resource
Have you found or written an interesting Angular-related article, tweet or other resource lately? Please let me know here in the comments or send me a DM on Twitter! I might feature it in the next Angular Addicts issue!