ANGULAR 16



ANGULAR 16

Released May 3rd 2023
Continuing the Angular Momentum with the biggest release since the initial rollout of Angular

ANGULAR 16



ANGULAR 16



ANGULAR 16


ANGULAR 16
universal
Non-destructive Hydration in Developer Preview!


ANGULAR 16
universal
Better Web Core Vitals!
Before: re-build entire DOM structure from scratch and replace the server-rendered result.
After: look up existing DOM nodes, attach meta data and event listeners in place.
No content flickering!
Future proofing for stuff to come in later versions of Angular!

ANGULAR 16
universal


ANGULAR 16
universal
Constraints:
Your application must have the same generated DOM structure on both the server and the client. Whitespace and comments as well!
No direct DOM manipulation!
Valid HTML structure


ANGULAR 16
universal
"Server side rendering will soon be a native part of the Angular CLI. We plan to move all of Angular Universal’s packages into the Framework and tooling to ensure the best, and smoothest experience getting started with SSR and Angular."

ANGULAR 16
Standalone

The schematics will convert your code, remove unnecessary NgModules
classes, and finally change the bootstrap of the project to use standalone APIs.

ANGULAR 16
Standalone
You’ll get a simpler project output without any NgModules
. Additionally, all the generators in the project will produce standalone directives, components, and pipes!


ANGULAR 16
Standalone ZONE
You can now configure Zone.js with the new bootstrapApplication
API.


ANGULAR 16
Tooling - BUILD

The ESBuild-based build system enters developer preview! ESBuild powers both your development and production builds!
Early tests showed over 72% improvement in cold production builds.

ANGULAR 16

ng serve
now uses Vite for the development server!
Angular CLI relies on Vite exclusively as a development server. To support selector matching, the Angular compiler needs to maintain a dependency graph between your components which requires a different compilation model than Vite.
Tooling - BUILD

ANGULAR 16

Tooling - BUILD

ANGULAR 16
Tooling - TEST

Experimental Jest Support!

ANGULAR 16
Tooling - TEST

Moving to Web Test Runner

ANGULAR 16
Tooling - EXTRAS

Autocomplete imports in templates

ANGULAR 16
Tooling - EXTRAS
Bye bye ngcc


ANGULAR 16
Tooling - EXTRAS
TypeScript 5.0 support

ANGULAR 16
DX
REQUIRED INPUTS!!!!!


ANGULAR 16
DX
Passing router data as component inputs!!!!


ANGULAR 16
DX
Self-closing tags!!!!


BEFORE:
AFTER:

ANGULAR 16
DX
DestroyRef!!!


ANGULAR 16
DX
DestroyRef!!!


ANGULAR 16
REACTIVITY


ANGULAR 16
REACTIVITY
Entirely backwards compatible and interoperable with the current system
A simpler mental model for reactivity, making it clear what are the dependencies of the view and what’s the flow of data through the app
Enables fine-grained reactivity, which in future releases will allow us to check for changes only in affected components
Makes Zone.js optional in future releases by using signals to notify the framework when the model has changed

ANGULAR 16
REACTIVITY

Go from Signal to Observable:

ANGULAR 16
REACTIVITY
And Observable to Signal:


ANGULAR 16
REACTIVITY

ANGULAR 16
Angular 16!
By Craig Spence
Angular 16!
- 1,899