DEV Community

Cover image for Ng-News 25/33: Signal Forms - First Public Demo
ng-news for This is Angular

Posted on

Ng-News 25/33: Signal Forms - First Public Demo

Angular’s most anticipated feature - Signal Forms - just got its first public demo. Plus: Zoneless goes stable, NgRx v20, and much more in this packed Angular update.

Signal Forms: First Public Demo

The monthly Angular Q&A session took place - but this time with a twist. Instead of Jeremy Elbourn co-hosting as usual, Alex Rickabaugh, the Angular Framework Lead, joined the session.

The main highlight of the session was the first public demo of Signal Forms, the upcoming third forms module - alongside Reactive Forms and Template-driven Forms.

Signal Forms is fully based on Angular Signals and, without a doubt, the most anticipated feature this year.

Comparison to existing Form Modules

Here’s an extremely simplified comparison:

  • Like Template-driven Forms, ngModel-style bindings directly update the data object - but here, it’s a Signal.
  • Like Reactive Forms, validators are defined in TypeScript, not in the template via directives.
  • Unlike either, you don’t need to deal with FormGroup or FormControl.
  • Just structure your data as a Signal and add rules around it.

A New Validation System

The validation system in Signal Forms was built from scratch.

Alex described it more like a DSL than a traditional validator setup and didn't even call it validation, but schema.

It is compatible with standard schema, which means libraries that support that standard - like Zod or Vest - can also be used.

Template Integration

And in templates? You’ll use the control directive to bind to specific fields from the Signal data model.

structuredSignal, deepSignal, and maybe mappedSignal?

A lot of buzz came from a PR mentioning two new Signal types: structuredSignal and deepSignal (later renamed to nestedSignal and then projectedSignal).

However, these are meant for internal use - for example in Signal Forms - and won’t be made public.

But… Alex did tease a potential new public Signal: mappedSignal.

Angular 20.2 Incoming - Zoneless Goes Stable

Angular 20.2 is expected this week, and with it, zoneless mode will go stable!

If you’ve got questions, Angular team member Matthieu Riegler is answering them in a dedicated Reddit thread:

https://www.reddit.com/r/angular/comments/1mr8lm1/zoneless_is_stable_megathread/

NgRx v20 Released

The most downloaded Angular state management library - NgRx - has reached version 20.

This release took a bit longer, but comes packed with improvements in different areas.

Senior Interview Questions for Angular Developers

Eduard Krivanek shared the interview questions he uses when hiring senior Angular devs - useful for both interviewers and candidates:

Monorepos - Holistic Overview

Stefan Haas published a great read about monorepos - not just another Nx tutorial 😉.

Instead, he covers:

  • The pros and cons of monorepos
  • Which tooling exists
  • How to evaluate if it’s the right choice

Introduction to Frontend Monorepos - Stefan Haas | Monorepos Guide

Commonly used in large enterprise codebases by companies likes Meta, Google & Microsoft, monorepos are a way to manage multiple projects within a single repository. This article introduces the concept of monorepos, their benefits, and the most popular tools used to manage them.

favicon stefanhaas.xyz

Profiling the CPU in Node.js

Michael Hladky, from Push-Based, has released another three-part series - this time on CPU profiling in Angular apps:

  • How to use the CLI to profile your app
  • What the numbers mean
  • Best practices
  • A bit of internals sprinkled in

Understanding the Data Structures Behind CPU Profiles

Explore the data structures powering CPU profiles in Chrome DevTools. Learn how nodes, samples, and time deltas represent performance data.

favicon push-based.io

Top comments (3)

Collapse
 
spock123 profile image
Lars Rye Jeppesen

Really looking awesome!

Collapse
 
ng_news profile image
ng-news This is Angular

Yes, I'm afraid we have to wait a little bit. It won't make it into 20.2 and the next release is 21.0 in November

Collapse
 
spock123 profile image
Lars Rye Jeppesen • Edited

I saw it is tagged v21- experimental on Github so I assume v21- is where we will first see this package