This is the final episode of 2024, and it’s been a busy holiday season! From Observable Standardization to Signal-based Forms and Router integration in DevTools, and even more.
Observables Standardization
There are developments that Observables—and even Signals—are becoming Web Standards. Dominic Farolino is leading the implementation and showcased what’s currently possible and what’s planned at TechStackNation.
There will be differences compared to RxJS Observables. For instance:
The standardized Observable might be **hot**, meaning it multicasts like the `share` operator.
Cancellation will use the **AbortSignal**, similar to the native `fetch`, instead of `unsubscribe`.
In some cases, the Observable may return a *Promise* when it completes.
Alex Rickabaugh and Pawel Kozlowski from the Angular team continued the discussion with Dominic, particularly around **Observables vs. Signals**.
Alex noted that Observables represent events at specific points in time, while Signals represent state that is always available. He also highlighted that `BehaviorSubject` is actually used to hold state. That is not eventing and will probably not be part of the standard.
• Chrome's New Observable API w/ Dominic Far...
• Angular Team Responds to Chrome's New Obse...
https://github.com/WICG/observable
State of JavaScript 2024
The results of the *State of JavaScript 2024* survey are out, and Angular performed quite well:
*Usage* grew from 45% to 50%.
*Positive sentiment* increased as well.
However, *interest* dropped from 23% to 17% — perhaps React developers haven’t heard about Incremental Hydration yet 😅!
https://2024.stateofjs.com/en-US
NgRx 19
NgRx, the most popular state management library for Angular, released version 19. Highlights include:
The *Global Store* can now dispatch actions based on Signal changes.
The *SignalStore* allows properties to be added dynamically to the SignalStore class.
https://dev.to/ngrx/announcing-ngrx-1...
Signal Forms - First Git Branch
Forms are a central part of many Angular applications, and an official Signal-based solution is eagerly awaited.
A branch is now available, though Matthieu Riegler from the Angular team explained that the project is still in an early brainstorming phase. Expect significant changes before it reaches an RFC.
https://github.com/angular/angular/tr...
/ prototype_of_signalbased_forms_experimental
https://x.com/MikeZks/status/18687389...
Router DevTools
Starting with Angular 19.0.5, the Angular DevTools extension now provides router insights. It shows which routes are lazy-loaded, eagerly loaded, and currently active.
/ angular_v1905_routing_devtools_demo_in_com...
Rx Virtual View
Virtual Scrolling is commonly used to optimize lists, but *RxVirtualView* extends this technique to any element.
It uses the `IntersectionObserver` to display placeholders for non-visible regions, only rendering views when they come into view.
RxVirtualView is now available with **rx-angular/template v19.1**.
https://www.rx-angular.io/docs/templa...