Angular Addicts #12: Signals 🚦, Code organization principles, WebExpo & more
My favorite Angular resources of March, 2023
👋Hey fellow Angular Addict
📰This is the 11th issue of the Angular Addicts Newsletter, a monthly collection of carefully selected Angular resources that got my attention. (You can read the first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth and eleventh issue here.)
🎫 Free ticket: WebExpo Conf [19–21 April, Prague]
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 now I’m a community partner of the event, so I can give away one free ticket to my followers!
➡️HOW TO WIN A TICKET?
Everyone can participate in the contest who correctly answers the following question: who will give the talk “Train ML model in the cloud (GCP), run on the Edge (JavaScript)” at WebExpo this year? (The answer is available on the conference website in the Program section.)
I will accept answers submitted to the following email address before this Sunday 23:59 CEST (9. April 2023): gergely.szerovay@gmail.com with the following email subject: “WebExpo Angular Addicts Ticket”.
So these are the steps:
1️⃣ Find out the answer
2️⃣ Send me an email with the answer
❗️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’ll be randomly selected on Monday (10. April 2023).
I’ll contact the winner via email.
GOOD LUCK!
WebExpo 2023 Conference website: https://webexpo.net/
📆 WebExpo dates: April 19–21, 2023
📍 Location: Prague, Czechia
🎞️ Here you can watch back previous talks
🏷️And if you want to purchase a ticket, use the code ANGULARADDICT at the checkout to get 20% off.
😲Signals is coming to Angular v16
In Angular v16, Signals will be available for developer preview.
📰Signals in Angular — How to Write More Reactive Code
Deborah Kurata wrote a detailed tutorial on Signals, she explaind why do we need Signals, what are they, and how to create, read and update them. Se also demonstrates the concept of computed Signals and effects.
📰Signals in Angular: The Future of Change Detection
In his article, Manfred Steyer compares the current Zone.js based change detection to the new Signal based approach. He explains the basics of Signals and also covers how RXJS interoperation will work.
🎧Angular Experts Podcast: Exploring Angular Signals
In this episode, Kevin Kreuzer and Tomas Trajan discuss many aspects of the new Signal API: how it will affect the change detection, if it will make RXJS obsolete or not, plain signals vs. signal support in the stores.
💎Angular Gems of March, 2023
📰Mastering Angular: Essential Code Organization Principles
This is the seventh part of OZ’s “Mastering Angular” article series. In this article he helps us prevent mistakes that are hard to fix later by explaining the following concepts:
Pure Functions
Immutability
Visibility and mutability modifiers
Type Aliases
Branded Types
Typed Functions
Composition over Inheritance
📰Angular Misconceptions
In his article, Armen Vardanyan explores some easy-to-misunderstand concepts:
Zone.js is doing change detection
OnPush change detection works only when inputs are updated
Calling methods in templates is a crime
Pipes should be pure
We can use an
EventEmitter
as aSubject
We should always use Reactive Forms
📰You don’t want a BaseComponent in your app
Alexander Goncharuk explains us why he thinks BaseComponent
is a bad option for code sharing. In the second part of the article, he explains several better alternatives available in Angular to keep our code DRY.
📰Function Overloading in Typescript
Thomas Laforge demonstrates how to define multiple versions of the same function with different parameter types and return types.
📢Release announcements
📢Announcing TypeScript 5.0
The new Typescript version contains the following new features:
Decorators
const Type Parameters
Supporting Multiple Configuration Files in extends
All enums Are Union enums
— moduleResolution bundler
Resolution Customization Flags
— verbatimModuleSyntax
Support for export type *
satisfies
andoverload
Support in JSDocPassing Emit-Specific Flags Under — build
Case-Insensitive Import Sorting in Editors
Exhaustive switch/case Completions
Speed, Memory, and Package Size Optimizations
💬 Tweets
Here is a collection of my favorite tweets from March, 2023:
Rainer Hahnekamp: “#Angular will support @vite_js for its ng serve. This is fantastic news“
Enea Jahollari: Required inputs are coming 🔨!!
Tomas Trajan: Create a "perfect" view$ (view model) selector for your container components
🙋♂️Who is behind Angular Addicts?
My name is Gergely Szerovay, I work as a frontend development chapter lead. Teaching (and learning) Angular is one of my passions. I consume content related to Angular on a daily basis — articles, podcasts, conference talks, you name it.
I created the Angular Addict Newsletter 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.
Next to the newsletter, I also have a publication called — you guessed it — Angular Addicts. It is a collection of the resources I find most informative and interesting. Let me know if you would like to be included as a writer.
Let’s learn Angular together! Subscribe here 🔥
Follow me on Medium, Twitter or LinkedIn to learn more about 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 #10: New features in Angular 15.1, Unit testing tips, Tutorials & more
Angular Addicts #9: NX 15.3 + monorepo workflow, Reactive primitives & 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!