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,433