What’s new in Angular v18

Angular
23 May 202420:08

Summary

TLDRThe Angular team announces the release of Angular V8 at Google's Bay View campus, focusing on enhancing developer experience and web app scalability. Key updates include template-level lazy loading, improved reactivity with Angular Signals, server-side rendering support, and more. A major highlight is the redesign of Angular's reactivity system to make Zone.js optional, with new APIs like signals and computed stabilizing in V17. Angular Material 3 theming is now stable, offering updated visual styles based on Material Design 3. The team also previews partial hydration support and experimental features for a zones-less Angular, aiming to shape the framework for the next decade of web development.

Takeaways

  • 🎉 Angular V8 has been released with a focus on improving the developer experience and scaling robust web apps.
  • 🔍 The team introduced new features like template level lazy loading with the new defer syntax and improved reactivities with Angular Signals.
  • 🛠 Support for server-side rendering and hydration has been enhanced, allowing for better performance and developer tools visualization.
  • 🔧 Optional Zones is a significant initiative where the Angular team is working on making Zone.js optional for Angular applications without sacrificing performance or developer experience.
  • 🌐 Alex Ricka, the technical lead for Angular, shared insights into the progress made on redesigning Angular's reactivity system to potentially remove the dependency on Zone.js.
  • 📈 In Angular V16, three new reactive primitives—Signal, Computed, and Effect—were introduced to provide a new reactivity model that could work without Zones.
  • 📚 Collaboration with community state management libraries like ngrx, ngxs, and RX Angular ensures compatibility and integration with the new Signal API.
  • 🔄 Angular V17 made Signal and Computed stable APIs, and V8 is expected to bring hybrid change detection and an experimental API to disable Zone.js integration entirely.
  • 🌟 Angular Material 3 theming APIs have been stabilized in version 18, offering updated visual styles based on Material Design 3 with simplified and more flexible theming.
  • 🔄 Angular is working towards full developer preview of zones-less compatibility, including with Angular's own packages and popular libraries in the ecosystem.
  • 🔍 Partial hydration support is in development, allowing developers to specify portions of the application to remain dehydrated for improved performance.

Q & A

  • What is the main focus of Angular V8 release?

    -The main focus of Angular V8 is to improve the developer experience for teams of all sizes and to introduce features that will help in building robust web apps that scale.

  • What are some of the new features introduced in Angular V8?

    -Some of the new features in Angular V8 include template level lazy loading with the new defer syntax, improved reactivities with Angular signals, support for server-side rendering and hydration, and more.

  • What is the significance of making Zone.js optional in Angular applications?

    -Making Zone.js optional is significant because it addresses the challenges of maintaining and safeguarding performance or debugging reactivity as applications scale. It also reduces the cost of loading and initializing zones as new web APIs are added.

  • What are Angular's three new reactive primitives introduced in V16?

    -The three new reactive primitives introduced in Angular V16 are Signal, Computed, and Effect. These APIs are central to the new reactivity model in Angular.

  • How does the hybrid change detection work in Angular V8?

    -Hybrid change detection in Angular V8 allows Angular to listen to signals and other notifications about changes and schedule change detection even if Zone.js doesn't patch an API or if changes are made outside of the Angular Zone.

  • What is the purpose of the experimental API to disable Zone.js integration in Angular V8?

    -The experimental API to disable Zone.js integration allows applications to run fully in zoneless mode. It is provided to collect feedback and gather data on which patterns work with zoneless and where more effort might be needed.

  • What updates were made to Angular Material in version 18?

    -In Angular version 18, Material 3 theming APIs were made stable, allowing the use of the same components with an updated visual style based on Material Design 3.

  • What is the new feature called 'event replay' in Angular?

    -Event replay is a feature that captures and replays events at the right time once the application is hydrated, ensuring that no user interactions with UI controls are lost during the hydration process.

  • What does Angular's enhanced dev tool support for hydration include?

    -The enhanced dev tool support for hydration includes the ability to visualize hydration information using Angular DevTools in the browser, with features like the show hydration overlays button and a breakdown of hydration errors in the components panel.

  • What is the significance of making Angular Material components compatible with hydration?

    -Making Angular Material components compatible with hydration allows developers to take advantage of the performance benefits of hydration in their applications, ensuring that these components are no longer skipped during the hydration process.

  • What is the future direction for Angular Material regarding theming?

    -The future direction for Angular Material regarding theming includes extracting more of the Angular Material behavior into fully customizable CDK components, providing even more flexibility for developers.

  • What incremental improvements are included in Angular V8 to enhance the developer experience?

    -Incremental improvements in Angular V8 include new APIs like signal inputs and model inputs for better data synchronization, signal query APIs for type-safe reactive interaction with content and view children, and support for the latest TypeScript features.

  • What is the 'zoness Angular' and why is it a goal for the Angular team?

    -Zoneless Angular refers to the effort to make Zone.js fully optional in Angular applications. The goal is to improve the developer experience by addressing the challenges that arise with Zone.js as applications scale and to prepare the framework for the next 10 years of web development.

  • What is the 'partial hydration' feature being worked on for Angular?

    -Partial hydration is a feature that allows developers to specify portions of their application that they would like to leave dehydrated. This provides more control over the hydration process and can improve the performance of the application.

Outlines

00:00

🚀 Angular V8 Release and Future Enhancements

Mark from the Angular team introduces Angular V8 at Google's Bay View campus, highlighting its aim to improve the developer experience for all team sizes. The update brings features like template level lazy loading, improved reactivity with Angular Signals, service side rendering support, and more. The focus is on empowering developers to build scalable web apps. Alex Ricka, the technical lead, discusses the redesign of Angular's reactivity system, aiming to make Zone.js optional for Angular apps, ensuring backward compatibility while addressing performance and maintenance challenges. The introduction of new reactive primitives like Signal, Computed, and Effect in V16 and their stabilization in V17 is emphasized. Collaboration with state management libraries is underway to ensure compatibility and integration with the new reactivity model.

05:01

🔧 Hybrid Change Detection and Zone.js Optional Features in Angular V8

The script details the introduction of hybrid change detection in Angular V8, allowing developers to write code that functions regardless of Zone.js usage. An experimental API to run applications fully in a zone-less mode is also mentioned, although it's noted as experimental due to incomplete compatibility across all Angular features. Future plans include a full developer preview of zone-less Angular, updates to core framework components like forms and router to expose state signals, and the unlocking of full developer experience and performance benefits through signal components. Alan from the Angular team discusses server-side rendering and hydration updates in Angular, including enhanced DevTools support, hydration support for all Angular Material components, and event replay powered by JS to capture and replay events post-hydration.

10:04

🎨 Material Design 3 and Angular Version 18 Updates

Miles, an engineer on the Angular team, discusses the support for Material Design 3 in Angular version 18. The update stabilizes the recently added Material 3 theming APIs, allowing the use of familiar components with an updated visual style based on Material Design 3. The new features include simplified theme styles using CSS variables, more granular theme customizations, and a flexible API for applying color variants to components. Developers can create an M3 theme using Sass mixins and apply it alongside the existing M2 themes. The team also plans to extract more of the Angular Material behavior into fully customizable CDK components in the future.

15:06

🛠️ Developer Experience Improvements and Partial Hydration in Angular V8

Emma from the Angular team provides a roundup of additional new features in Angular V8, including new APIs to enhance the developer experience. The introduction of signal-based APIs, signal inputs, and model input APIs are highlighted, allowing for better data synchronization and type-safe reactive interaction with content and view children in templates. The new signal query APIs offer improved type safety and lazier updates. The experimental preview of zone-less Angular is also mentioned, with incremental improvements allowing developers to explore removing zones from their code. Other enhancements include support for the latest TypeScript features, a default value for NG content, and a global observable for Angular forms to track various control events. The script concludes with a tease about partial hydration support in Angular, allowing developers to specify portions of the application to remain dehydrated.

Mindmap

Keywords

💡Angular

Angular is a platform and framework for building client-side applications using HTML, TypeScript, and other languages. It is maintained by Google and is known for its robustness and scalability. In the video, Angular V8 is introduced, which signifies a new version of the framework with improved developer experience and performance enhancements.

💡Developer Experience

Developer Experience (DX) refers to the tools, practices, and methodologies that make it easier for developers to build software. In the context of the video, Angular V8 aims to improve the developer experience by introducing new features and updates that streamline the process of building web applications, such as template level lazy loading and improved reactivity.

💡Template Level Lazy Loading

Template Level Lazy Loading is a feature that allows parts of an Angular application to be loaded on demand rather than all at once. This can improve the performance of applications by reducing the initial load time. The video mentions the introduction of a new 'defer' syntax for this feature, which allows for more granular control over when templates are loaded.

💡Reactivity

Reactivity in Angular refers to the framework's ability to automatically update the UI in response to changes in application state. The video discusses improvements to reactivity with the introduction of Angular Signals, which provide a more ergonomic control flow and better performance as applications scale.

💡Service Side Rendering and Hydration

Service Side Rendering (SSR) is a technique where the server generates the HTML of a web application, which can improve performance and SEO. Hydration is the process of attaching the client-side logic to the server-rendered HTML. The video mentions support for SSR and hydration, indicating that Angular V8 provides tools to facilitate these processes.

💡Optional Zones

Zones are a mechanism in Angular that help with reactivity and change detection. In the video, the Angular team discusses making Zone JS optional, which means developers can choose to use it or not, depending on their needs. This is part of a redesign of Angular's reactivity system to improve performance and developer experience.

💡Angular Signals

Angular Signals are a new reactivity primitive introduced in Angular V16. They are used to track changes in application state and ensure that the UI updates correctly and efficiently. The video mentions that signals, along with computed and effect, are central to the new reactivity model in Angular.

💡Hybrid Change Detection

Hybrid Change Detection is a new mode for change detection in Angular V8 that allows the framework to listen to signals and other notifications about changes, even if Zone JS doesn't patch an API. This feature aims to balance correctness, performance, and developer experience, and it is a step towards making Zone JS optional.

💡Material Design 3

Material Design 3 (M3) is the latest iteration of Google's design language, which provides guidelines for visual, motion, and interaction design. In the video, it is mentioned that Angular Material 3 theming APIs are now stable, allowing developers to use Angular Material components with the updated visual style of M3.

💡Partial Hydration

Partial Hydration is a concept introduced in the video where developers can specify which parts of their application should remain dehydrated. This is an extension of the hydration feature in Angular, allowing for more granular control over the hydration process and potentially improving performance.

Highlights

Angular V8 release aims to improve developer experience for teams of all sizes.

New features include template level lazy loading with the new defer syntax.

Introduction of Angular Signals for improved reactivities.

Support for service side rendering and hydration added.

Optional Zones in Angular are being updated, aiming to make Zone JS optional for Angular applications.

Long-term investments in Angular's performance and developer experience include a redesign of Angular's reactivity system.

Backwards compatibility remains a priority with millions of Angular applications built with Zones.

New reactivity system aims to address challenges in maintaining performance and debugging reactivity at scale.

In V16, Angular introduced three new reactive Primitives: Signal, Computed, and Effect.

V17 made Signal and Computed stable APIs, preparing Angular for signals.

Collaboration with community state management libraries to support Signal API and integrations.

Hybrid change detection in V8 allows code to work regardless of whether Zone JS is used.

V8 will have an experimental API to run applications fully in zoneless mode.

Enhanced DevTools support for hydration in Angular, allowing developers to visualize hydration information.

Hydration support for all Angular Material components in version 18.

Event replay feature captures and replays events once the application is hydrated.

Support for Material Design 3 theming APIs in Angular version 18.

New Signal-based APIs in V8 for improved developer experience and optimized rendering updates.

Introduction of Signal inputs and model inputs for better data synchronization and two-way binding.

New Signal query APIs for type-safe reactive interaction with content and view children in templates.

Angular V8 includes experimental preview of zoneless Angular, making Zone JS fully optional.

Developers can now provide a default value for NG content, allowing placeholders for empty lists and components.

Angular Forms introduces a new Global observable to track changes around any abstract control and its children.

Partial hydration support is being worked on, allowing specification of portions of the application to remain dehydrated.

Transcripts

play00:00

[Music]

play00:03

hey everyone Mark here from the angular

play00:04

team I'm Overjoyed to share that angular

play00:07

V8 is here and it's going to improve the

play00:09

developer experience for teams of all

play00:11

sizes we're here at Google's Bay View

play00:13

campus in Mountain View California and

play00:15

we have so many Fantastic updates to

play00:17

share that you definitely want to stick

play00:19

around because things are about to get

play00:23

awesome with each release we aim to

play00:26

improve angular to better Ser the

play00:28

developer Community as well as find ways

play00:30

to move the web forward we've launched

play00:32

features like template level lazy

play00:34

loading with the new defer syntax more

play00:36

ergonomic control flow improved

play00:38

reactivities with angular signals

play00:40

support for service side rendering and

play00:43

hydration and so many more improvements

play00:46

our goal has been and will continue to

play00:48

be building a framework that empowers

play00:50

developers to build robust web apps that

play00:53

scale now today we'll be sharing details

play00:56

about what we've launched in V8 and how

play00:58

we're thinking about the future future

play01:00

of angular speaking of future developers

play01:02

have been asking for updates on optional

play01:04

zones in angular but don't zone out just

play01:08

yet we know you want updates so here's

play01:10

one of our team leads Alex ricka with

play01:12

the latest on optional zones in angular

play01:14

Alex over to

play01:17

you the team has been hard at work on

play01:20

several long-term investments in both

play01:22

the performance and developer experience

play01:24

of angular one of the most vital

play01:26

projects has been our redesign of

play01:28

angular's reactivity system one of the

play01:30

primary goals and one of the most

play01:32

ambitious is to make Zone JS optional

play01:35

for angular applications I'm Alex the

play01:38

technical lead for the angular framework

play01:39

at Google and I'm excited to share with

play01:41

you some insight into our progress and

play01:44

the work that

play01:45

remains let's start by talking a little

play01:48

bit about the goals why do we think

play01:50

zoness angular is worth building and

play01:52

what's the future of Zone js on angular

play01:56

backwards compatibility is one of our

play01:57

main values there are millions of

play02:00

angular applications which are built

play02:01

with zones including thousands at Google

play02:03

alone and we're committed to supporting

play02:05

this way of using angular for the

play02:07

foreseeable future at the same time

play02:10

experience has shown us that as

play02:11

application scale the hands-off approach

play02:14

to reactivity used by Zone JS starts to

play02:16

show some weaknesses it becomes more

play02:19

challenging to maintain and Safeguard

play02:21

performance or to debug reactivity and

play02:24

as new web apis are added the cost of

play02:26

loading and initializing zones is

play02:28

growing given these challenges we

play02:30

decided to invest in a new reactivity

play02:33

system that will scale to meet the

play02:35

developer experience and performance

play02:37

needs of the next 10 years of angular

play02:39

applications changing a core part of the

play02:42

framework like this is a long-term

play02:43

project with features and fixes Landing

play02:46

in different releases along the way

play02:48

let's talk about some of the work we've

play02:50

done already last year in V16 we

play02:53

introduced angular developers to our

play02:55

three new reactive Primitives signal

play02:58

computed and effect these apis are at

play03:01

the heart of our new reactivity model

play03:03

with them developers can have confidence

play03:05

that angular will understand changes

play03:07

made to their application State and

play03:09

update the UI correctly and efficiently

play03:12

in v17 signal and computed became stable

play03:16

apis angular is ready for signals in

play03:19

addition to the core Primitives we've

play03:21

been working closely with the teams

play03:23

behind the Community State Management

play03:24

libraries that you know and love like

play03:27

ngrx ngxs RX angular and several others

play03:31

we've been working together to ensure

play03:33

the signal API support their use cases

play03:36

and Integrations like nx's signal store

play03:38

exemplify the fruits of this

play03:40

collaboration these apis give us a

play03:43

strong foundation on which to build a

play03:44

new reactivity model for angular that

play03:46

doesn't require zones when you

play03:49

communicate State changes to angular for

play03:51

example by setting a signal that's used

play03:52

in a template the framework will

play03:54

schedule change detection automatically

play03:56

without the need for Zone JS but what

play03:58

about existing applications some of

play04:01

which can have thousands of components

play04:03

which are not yet using signals we want

play04:05

to make sure it's possible for these

play04:07

applications to switch to zoness without

play04:09

needing to migrate everything to signals

play04:12

and of course we want the rich ecosystem

play04:14

of angular libraries to be zoness

play04:16

compatible without major changes as well

play04:19

for the past 6 months we've been working

play04:21

towards this goal building out a new

play04:23

mode for change detection that balances

play04:25

correctness performance developer

play04:27

experience and backwards compatibility

play04:30

getting this right takes time and we've

play04:32

been working with different applications

play04:33

at Google to experiment and test these

play04:36

ideas some of which are already running

play04:38

in production in V8 we expect to release

play04:41

two major pieces of this puzzle one

play04:44

piece is what we've been calling hybrid

play04:46

change detection which will be enabling

play04:48

by default for all V8 applications in

play04:51

this mode even if Zone JS doesn't patch

play04:54

an API or if changes are made outside of

play04:57

the angular Zone angular will still list

play04:59

listen to signals and other

play05:01

notifications about changes and schedule

play05:03

change detection hybrid change detection

play05:05

will allow developers especially Library

play05:08

authors to write code that works

play05:10

regardless of whether Zone JS is used or

play05:13

not and secondly in V8 will have an

play05:16

experimental API to disable Zone JS

play05:19

integration entirely and run

play05:21

applications fully in zoness mode this

play05:24

API will be experimental as not all

play05:26

parts of angular work smoothly with

play05:28

zoness today

play05:30

we're still in the process of updating

play05:32

libraries like forms and material for

play05:34

example releasing this API early will

play05:37

allow us to collect your feedback and

play05:39

gather even more data on which patterns

play05:41

are working with zonel less and where we

play05:43

might need to focus more effort Beyond

play05:46

V8 we have even more exciting projects

play05:49

in the pipeline we'll be working towards

play05:51

a full developer preview of zoness

play05:54

including compatibility with angular's

play05:56

own packages as well as popular

play05:57

libraries in the ecosystem we're also

play06:00

not finished integrating signals with

play06:02

the core framework forms and router for

play06:04

example will be updated to expose state

play06:06

of signals where it makes sense and

play06:09

finally signal components will unlock

play06:11

the full developer experience and

play06:13

performance benefits of signals through

play06:15

our work on signals zon lists and across

play06:17

our other projects we are committed to

play06:20

the stability and reliability of angular

play06:22

as a foundation for your applications

play06:24

while we work to prepare the framework

play06:26

for the next 10 years of web development

play06:29

[Music]

play06:32

I bet you all are in the zone after that

play06:34

last update thanks Alex okay you know

play06:37

what else is

play06:38

important hydration and here to tell you

play06:41

more about hydration in angular and the

play06:43

latest on the angular server Side Story

play06:45

is aine from the team go check that out

play06:48

I have some lights to light up okay

play06:49

let's go so many lights all the way to

play06:52

the top by myself it's just

play06:56

me I am Alan from the angular team and

play07:00

I'm here to let you know what we've been

play07:02

working on with server side rendering

play07:04

and hydration in angular let's get

play07:07

started angular continues to innovate

play07:10

for its users by bringing modern

play07:12

exciting updates to SSR in the framework

play07:15

today is no exception in angular version

play07:17

18 we are launching some great new

play07:20

features the first is enhanced dep tool

play07:23

support for hydration in angular now

play07:25

developers can visualize hydration

play07:27

information using angular death tools in

play07:30

the browser with the show hydration

play07:32

overlays button you can clearly see

play07:35

which components are hydrated which were

play07:37

skipped and which encountered an error

play07:40

the components panel also shows a

play07:42

breakdown of what went wrong it includes

play07:45

hydration errors to more easily identify

play07:47

how to fix them we think you really

play07:50

enjoy this new feature we are also happy

play07:52

to announce hydration support for all

play07:54

angular material components you can now

play07:56

take advantage of performance benefits

play07:58

of hydration in your applications that

play08:01

use angular material components these

play08:04

components will no longer be skipped

play08:05

during hydration we have an update on a

play08:08

much requested feature in version 18 we

play08:11

are adding hydration support for i8m

play08:14

blocks this feature is in developer

play08:17

preview before I tell you more about

play08:19

what's coming in the future there's one

play08:21

more feature I want to announce before

play08:24

an application is hydrated users May

play08:26

interact with UI controls and as a

play08:28

developer you don't want to lose those

play08:30

events well as part of our ongoing

play08:33

collaboration with the WIS team at

play08:35

Google we are announcing event replay

play08:38

powered by JS

play08:39

section events will be captured and

play08:41

replayed at the right time once the

play08:44

application is hydrated event replay is

play08:47

now available in developer preview

play08:49

here's a glance at what we are working

play08:51

on next we are working on providing

play08:54

outof the Box support for selecting a

play08:56

rendering mode for a given route this

play08:58

means providing an easy hook for

play09:01

choosing which routes are rendered

play09:02

client side server side or at whe time

play09:05

we are also working on improving the SSG

play09:07

experience for parameterized

play09:10

routes all right that's it for me but

play09:13

there's so much more to learn about in

play09:16

the latest release of angular so check

play09:18

out the angular YouTube channel for more

play09:21

on what's in store now go and your

play09:26

update thanks for those updates Salon

play09:28

the angular server Side Story just

play09:30

continues to evolve and you the

play09:32

developer Community continue to receive

play09:34

the benefits now would you like to know

play09:37

more about angular material 3 I bet you

play09:39

would so Miles why don't you let the

play09:41

people know what we've been working

play09:45

on the moment you've been waiting for is

play09:47

here angular now has support for

play09:49

material 3 my name is Miles and I'm an

play09:52

engineer on the angular team let's learn

play09:54

more about the latest changes for

play09:55

angular material in angular version 18

play09:58

we're making the recently added material

play10:00

3 theming apis stable these apis allow

play10:03

you to use the same components you know

play10:05

and love with an updated visual style

play10:07

based on material design 3 here are some

play10:10

of the new features that are available

play10:12

with our M3 themes simplified theme

play10:15

Styles based entirely on CSS variables

play10:18

that don't add selector specificity more

play10:20

granular theme customizations based on

play10:23

CSS variables and a more flexible API

play10:26

for applying color variants to

play10:28

components

play10:29

to use material 3 in your app create an

play10:32

M3 theme in SAS using matt. Define theme

play10:35

or generate a theme using NG generate

play10:39

then pass the new theme to the same

play10:41

angular material SAS mixins you're

play10:42

already using to apply your M2 theme

play10:45

along with the great features I've

play10:46

already talked about we also offer SAS

play10:49

apis to read colors typography and other

play10:52

properties from the M3 theme so that you

play10:54

can write your own custom components

play10:55

that work with M3 themes while we're

play10:58

excited to provide this new option for

play11:00

theming your components we also want to

play11:02

emphasize that our M2 themes will

play11:03

continue to be available alongside our

play11:06

M3 themes we hope that these changes

play11:08

open up more possibilities for you to

play11:10

customize angular material components to

play11:12

meet your needs for those who need even

play11:14

more flexibility we're looking forward

play11:16

to extracting more of the angular

play11:18

material Behavior into fully

play11:19

customizable cdk components in the near

play11:22

future thanks for watching and see you

play11:24

next

play11:26

time our materi 3 support will only

play11:29

continue to grow enabling you and your

play11:31

teams to build fantastic uis for your

play11:34

applications to best serve your users

play11:37

the angular V8 release is filled with so

play11:39

many features that we will be here all

play11:41

day if we try to cover them all but

play11:43

instead let's head over to our very own

play11:45

emori for a quick Roundup of more new

play11:48

features that you can get started using

play11:52

today angular V8 is here and besides the

play11:56

big updates there are a lot of great

play11:58

little features bug fixes and

play12:00

incremental improvements to help you and

play12:02

your teams build the next generation of

play12:05

web apps Emma here from the angular team

play12:07

and I'm going to tell you about the

play12:09

great features launched in this release

play12:12

let's do

play12:15

this angular V8 is shipping with new

play12:18

apis to further improve the developer

play12:20

experience in the framework first up are

play12:23

our new signal-based

play12:25

apis in v77 we introduced angular

play12:29

signals A system that granularly tracks

play12:32

how and where your state is used

play12:34

throughout an application allowing the

play12:36

framework to optimize rendering

play12:38

updates now we're on a path to fully

play12:41

signal-based components and this release

play12:44

contains some of the building blocks

play12:46

developers will need to make that

play12:49

happen first we're introducing signal

play12:52

inputs signal inputs allow values to be

play12:55

bound from a parent component those

play12:58

values are exposed using a signal and

play13:01

can change during the life cycle of your

play13:04

component to help developers have a

play13:06

better time keeping data in sync with

play13:08

two-way binding there's the new model

play13:11

input

play13:12

API model inputs are a special type of

play13:15

input that enable a component to

play13:17

propagate new values back to another

play13:20

component when creating a component you

play13:23

can define a model input similarly to

play13:25

how you create a standard input both

play13:28

types of inputs allow someone to bind a

play13:31

value into the property however model

play13:34

inputs allow the component author to

play13:36

write values into the property in other

play13:39

respects you can use model inputs the

play13:42

same way you use standard inputs we know

play13:45

that developers have long wanted a

play13:47

type-safe reactive way to interact with

play13:50

content children and view children in

play13:52

templates we heard you loud and clear

play13:55

and that's why we've built the new

play13:56

signal query apis

play13:59

the new approach exposes query results

play14:01

as signals which mean that query results

play14:04

can be composed with other signals using

play14:06

computed or effect and drive change

play14:10

detection Additionally the signal-based

play14:12

query system offers other benefits like

play14:15

more predictable timing simpler API

play14:18

surface improved type safety more

play14:21

accurate type inference and lazier

play14:24

updates the underlying query mechanism

play14:27

doesn't change much concep usually

play14:29

angular still creates singular child or

play14:32

plural children queries that Target

play14:34

elements in a template or content the

play14:38

difference is in the type of result and

play14:40

the exact timing of the result

play14:42

availability these features bring V8

play14:45

closer to our goal of signal-based

play14:47

components but we're not stopping there

play14:50

as Alex shared V8 includes an

play14:53

experimental preview of zoness angular

play14:56

he did a great job sharing how we're

play14:58

thinking about the future developer

play15:00

experience of zoness angular and why our

play15:02

eventual goal is to make Zone JS fully

play15:06

optional but we know that you want to

play15:08

see some code V8 includes some

play15:11

incremental improvements that allow you

play15:13

to explore removing zones in your code

play15:16

starting

play15:17

today zones event cesing is on by

play15:21

default in V8 and Zone cesing uses the

play15:25

same scheduler as

play15:27

zoness angular with Zone JS can be

play15:30

configured to schedule change detection

play15:33

even when the changes happen outside the

play15:35

angular Zone this takes advantage of the

play15:37

zoness scheduler in existing Zone JS

play15:40

apps and angular material components in

play15:43

the cdk are zoness

play15:46

compatible zoness is available as

play15:49

experimental in V8 to learn more about

play15:52

experimental zonel list support head to

play15:54

our guides on angular

play15:57

dode but that's not it here are some

play16:00

quick hits that are sure to make

play16:02

developing in angular better developers

play16:05

can enjoy the latest features of

play16:07

typescript 5.4 in your

play16:09

applications update now for preserved

play16:12

narrowing enclosures Following last

play16:14

assignments the no INF for utility type

play16:17

and a lot more you can learn more about

play16:21

what these all mean in Microsoft's blog

play16:24

post announcing typescript

play16:27

5.4 also new developers can now provide

play16:30

a default value for NG content this

play16:34

allows you to have a placeholder for

play16:36

empty lists and other components with no

play16:38

current content and what's that we've

play16:42

closed our number one most upvoted

play16:44

feature request on GitHub angular forms

play16:48

introduced a new Global observable you

play16:51

can subscribe to to track changes around

play16:54

any abstract control and its children

play16:57

you can now track all kinds of events

play17:00

like touched dirty Etc in addition to

play17:04

value and Status all through a single

play17:08

observable you know what's even cooler

play17:10

most of these feature ads actually

play17:12

happened in a minor lease leading up to

play17:15

today that means you don't have to wait

play17:17

6 months for the next enhancement to

play17:19

your signal apis another step towards

play17:22

zoness or one of your top voted issues

play17:25

being resolved we've been talking a lot

play17:28

about the future of angular and you can

play17:30

find out more about what we've been

play17:31

working on by heading over to our public

play17:34

road map at

play17:49

[Music]

play17:58

fantastic tool for building web

play18:00

applications that scale with confidence

play18:03

with all of the new features announced

play18:04

in angular V8 developers have all the

play18:07

tools they need to build the next great

play18:09

web

play18:14

application oh oh I think I got it I got

play18:19

it I got it I'm I mean of course I got

play18:23

it of course I got it Jessica here

play18:26

assuming direct control over this stream

play18:29

to tell you about two more quick things

play18:31

number one all those puns from Mark in

play18:34

the script they were me all

play18:40

along

play18:42

sorry at number two I have one more

play18:45

feature to tell you about with all the

play18:47

success of hydration we thought maybe we

play18:49

could take things partially a bit

play18:52

further that's right we're working on

play18:54

partial hydration support in

play18:57

angular the goal of this is to allow you

play19:00

to very quickly easily intuitively and

play19:03

declaratively specify portions of your

play19:06

application that you'd like to leave

play19:08

dehydrated just like we did with defer

play19:11

views and the best part about all this

play19:13

is is we're going to be releasing it as

play19:15

part of oh crap I think we oh crap I'm

play19:20

no I'm losing the

play19:23

connection she is always doing stuff

play19:26

it's my show all right friends whatever

play19:28

you just heard ignore all of that but

play19:30

hey thanks so much for coming to our

play19:32

special angular event we hope you

play19:34

enjoyed yourself but hey let us know

play19:36

what you think be sure to NG update and

play19:39

as always go build great apps we see you

play19:42

the next

play19:49

time wait you all are still here got to

play19:52

get out of here I got to go home bye get

play19:54

out of here bye thanks for coming bye

play19:59

[Music]

Rate This

5.0 / 5 (0 votes)

Related Tags
Angular V8Web DevelopmentReactivitySSRHybrid DetectionZone.jsMaterial DesignLazy LoadingDeveloper ToolsEvent Replay