All Episodes

November 20, 2025 • 62 mins
Happy 21st birthday Angular! Join hosts Brooke Avery, Lara Newsom, and Brian Love for a pre-release look at Angular v21 with special guest Jessica Janiuk of the Angular Core Team.

This episode is a deep dive into the most anticipated features: Signal Forms, the new signal-based approach simplifying forms, improving type safety, and validation; the MCP Server tools, enhancing AI-powered workflows for code generation and legacy modernization; and critical updates to the Angular ARIA package for easier accessibility. They also cover Angular animations and touch upon a few other up-and-coming features to look out for as well in future releases. And, who knows, you might just see a Ghost or two 👻

https://angular.dev/ai/develop-with-ai#web-codegen-scorer
https://angular.dev/guide/animations/migration
https://www.youtube.com/watch?v=PyWjoSG61cI

Follow us on X: The Angular Plus Show
Bluesky: @theangularplusshow.bsky.social  

The Angular Plus Show is a part of ng-conf. ng-conf is a multi-day Angular conference focused on delivering the highest quality training in the Angular JavaScript framework. Developers from across the globe converge  every year to attend talks and workshops by the Angular team and community experts.

Join
Attend
X
Bluesky        
Read
Watch

Edited by Patrick Hayes
Stock media provided by JUQBOXMUSIC/ Pond5
Mark as Played
Transcript

Episode Transcript

Available transcripts are automatically generated. Complete accuracy is not guaranteed.
Speaker 1 (00:08):
Welcome to the Angular plus Show. We're app developers of
all kinds share their insights and experiences. Let's get started.

Speaker 2 (00:22):
Hello everybody, and welcome to the Angular plus Show podcast.
On today's show, we are so geared up and pumped
to be talking about Angular version twenty one, which is
set for release on November twentieth. We'll be particularly talking
about Angular's new MCP server tools, signal forms, and Angular's

(00:47):
latest Aria package. So lots lots to talk about. Maybe
maybe we can squeeze out some little hidden unknowns from
our guests as well, but I'm calling it it'll be
like the V twenty one birthday party release. So Angular
is having a birthday. Is turning twenty one?

Speaker 3 (01:09):
Oh I can drink now, Yeah, exactly, And you.

Speaker 2 (01:12):
Know what, I have a question for our guests here
in a second, but let me kind of do some
introductions here. So I am Brooke Avery with me today,
I have my fellow Angular enthusiasts and gdes. We have
Lara Newsom Hello, Lara, Hello, and mister Brian love.

Speaker 4 (01:32):
There, good morning, happy to be here.

Speaker 2 (01:34):
And then we're also joined today by Angular Core team
member and droid builder Extraordinary. We have Jessica jenyak Am,
I tell me if I'm saying that wrong.

Speaker 5 (01:46):
I mean, nobody says it correct.

Speaker 2 (01:48):
I'm so sorry.

Speaker 5 (01:49):
I'm pretty sure we don't even say correct. I'm pretty
sure it's a Polish last name, and I've heard Polish
people pronounce it and I'm like.

Speaker 3 (01:56):
Wow, that's not even yeah.

Speaker 5 (01:58):
I mean that's not how we said.

Speaker 2 (02:00):
But yeah, that's great.

Speaker 5 (02:03):
We kind of ignore the you. We just say Janek.

Speaker 3 (02:06):
I like it. That's very English of yes, yes, just
names in general, like I get Aviary all the time.

Speaker 2 (02:16):
And my mom's first name is Terry, so people call
her Tracy Aviary all the time. But just funny. Okay,
So Jessica, before we really like dive into all this
exciting stuff coming out with version twenty one, I am
curious since this is Angler's twenty first birthday, it's now

(02:38):
become legal, like Laura was pointing out, So if angular
were a real person and you can answer either one
of these questions, I have two questions, what would it
choose to do on its twenty first birthday? Or what
gift would it ask for for this birthday in particular?

Speaker 5 (02:57):
You know, those are really great questions that I would
never have thought of before. What would it do? What
would it do? It's a tough question because like trying
to think through the whole history of of the framework,

(03:17):
and yeah, it's gone through a lot of change lately.
So I'm going to say that Angler is probably going
to rebel a bit and go to the club.

Speaker 6 (03:31):
All right, I was thinking skydiving, Like I feel like
Angular is kind of like coming out of its shell
and it's like I'm ready to really just.

Speaker 2 (03:38):
Like Scar now.

Speaker 3 (03:39):
I don't want any wild and crazy.

Speaker 5 (03:43):
I mean, I don't know, I don't know what the
rules are there. I'm going to say maybe at twenty
five Angular might feel comfortable. We're a little bit a
little bit on the risk risk averse, you know, coming
out of that. So you know, maybe a couple of
major versions will consider it the skydiving. Yeah, what would

(04:07):
it get want for a gift? I mean, if it
was me giving the gift, I'd be like something other
than Basil. But that's my personal preference.

Speaker 2 (04:19):
Are you going no? I think that's great and you
can keep thinking about it or you don't even have
to answer. But I like that answer, so very cool.
But all right, So I gave like a slight overview
there a minute ago about some of the biggest parts
that are being released. You know, some of the latest
things coming out. I mentioned we have the new Angular

(04:40):
MCP server tools, so that's going to improve the AI
powered workflows and code generation. We're going to get like
a first look at signal forms, the you know, all
of the updates with the ARIA package. So those are
really I think the big things we wanted to cover
today and nless you'd like to like slip anything else

(05:02):
in there, but yeah, I mean, i'd love to just
like maybe just start at the top if you want
to go over kind of what we're expecting to see
here with the MCP server tools and the AI workflows.

Speaker 5 (05:15):
The irony here is that I've worked on none of
those things, so I'm only passively familiar with what's actually
happening in that space. I know that there's been a
ton of work being done on the MCP server support
and the custom stuff. There's been a ton of work
behind the scenes being done for cogen and coaching quality,

(05:40):
and I think primarily, like if you've seen anything about
our the AI tool that we put out that's open source,
and the repo that's I'm trying to remember the name
of what the name of the repo is.

Speaker 4 (05:57):
But the learning tool right.

Speaker 5 (05:59):
Yes, the lms, it's the LLLM Code genol Tutor. There's
the AI tutor that was put out, but there's also
the Code Gen Quality Tool as well.

Speaker 3 (06:14):
I have it, hold on. I put it on my
slide deck at ng comp and I put it on
there wrong because I had a migraine when I put
it on the slide deck and I have sensetis that
it is called Angular Code Gen Scorer.

Speaker 5 (06:24):
Yes, the Angular CoDeeN Score, which is something we've put
a ton of effort into as like part of the
goal here or really vehicle here was to try to
get a better understanding of actual quantifiable data of what
these lms actually generate and what the quality of the

(06:46):
code and what it's just like actually is it bullowable
and like if you ask for something, are you going
to get like the latest code or are you going
to get out of date code? Are you going to
get different framework code? And how can we essentially use
this to reshape the tools and the prompts and to

(07:09):
give you better based prompts so that you can actually
get the best out of your tools. So this will
like the results of this will actually work in conjunction
with the MCP servers. But this is probably that that
Cochin score has been instrumental in a lot of the

(07:32):
work that we've been doing because it's it's helped us
understand what is needed to get the best out of
these AI tools.

Speaker 3 (07:42):
Yeah, I mean so so like if you think about Angular,
it's been around, you know, like since twenty ten, but
Angular two was what was that twenty sixteen, and so
there's that many there's almost ten years of over well
at least eight years of documentation where you know, n
G four was you you use the structural directive to
loop and that's been a big problem I've seen just

(08:04):
vanilla out of the box coating assistance always mess that up.
And it makes sense because that's what that's what everything
it was trained on says to do. And so it's
these kind of tools I think are really important. I'm
really glad to see this because it's one of my
biggest concerns of the tech lead is like, are we
actually emerging code that's useful or are we emerging code

(08:25):
that's just going to be crap later?

Speaker 5 (08:27):
So oh, gosh, that I can relate to. As you
might imagine, we've been seeing a huge influx of prs
that are very tiny, obscure things that really have questionable value,
and it takes some time, and I think people maybe

(08:50):
don't realize that when you put up prs, even if
it's like a tiny little docks change, even if it
is syntactically correct, there's a person that actually has to
review that and whatnot. So it's been a challenge to
keep up with that, and I think these AI tools
will have to and our processes and really GitHub as

(09:13):
a whole is going to need to adapt to the
fact that these lms are just kind of spamming out
prs from people now are at least doing that, and
we can where we can tell like when people have
generated stuff with AI. So yeah, I relate entirely to

(09:37):
what you're saying about making sure that what we are
adding is quality. It can be really really hard in
that regard. So yeah, we have this co gen score
and it's a fairly awesome generic tool where you can
really use it for any LM or any any framework. Really,
that's why it's open sourced. And out of this came

(09:58):
our CLI scaffolding for AI tools, so you actually have
a better system prompt hopefully getting to the issue of
like the ENGI four versus our new control flow, so
that you don't have to keep saying, hey, that's deprecated,
stop using that.

Speaker 3 (10:19):
Yeah, yeah, exact yeah, and that is available already from
I know, is at least a visual in version twenty
where one of the steps if you engin knew an app,
it asks you which AI tool are you using, and
it lists there's like there's six or five or six
or seven or twenty five, I don't know, it's like
the most commonly used ones are there, and then basically

(10:41):
it just takes that best practice marked down and it
knows where to put it for the tool that you're using,
because if you've used multiple tools, you know those instructions
or rules go in different places because why not. So
it's really great. I think that's really great because I
think that's been a really frustrating piece for me is
like I think, oh, I got this figured out, I

(11:02):
know where to put this, and then uh, they just
change it because it's all experimental and right right.

Speaker 5 (11:09):
So what's great also is there's a way to do
it to existing apps as well. It's not just new
so you can like run the schematic for it and
it'll generate the same stuff for you.

Speaker 3 (11:21):
Nice.

Speaker 2 (11:21):
Yeah, that had been like, are there any I don't know,
safeguards or like best practices for using AI assisted code generation,
like with the MCP just to keep the hallucinations out
of production code or any you know, any problematic code
like that.

Speaker 5 (11:40):
As far as best practices, the thing that stands out
to me most is to pay attention to what's been generated, because, uh,
you know, a lot of people are relying on these
tools myself included to help me understand code I don't
necessarily know, and and it's easy to just trust that

(12:03):
code and be like, oh, it builds. But yeah, if
you don't like go back and read what's been generated,
you may not realize that some of the things that
it's generated either don't exist or are completely wrong or
don't actually do anything. Yeah, because we've certainly seen that
kind of thing as well.

Speaker 3 (12:25):
So, yeah, we ran into a lint error today or
we were fixing a we're getting things switched over to
strict mode today and we had a no like a
it's like no bad spread or no questionable spread operator,
and so it took object to sign and then spread
it and then put a line ignore on it. So
I'm like, okay, so let's not even do this object

(12:48):
to sign business because we don't need to assign it
to an object and then spread that object making a
new object. And you know, I'm like, it just lint ignore.
It's in a test file. It's fine. So it'll do
weird things to try. It wants to follow the rules.
It just sometimes has very creative solutions for doing that,
like inventing methods that don't exist, or you know, just.

Speaker 5 (13:11):
Are telling you file paths that don't exist. Oh that's
and it's being very being very like right about it too.
It'll be like, it's definitely at this location, and I'll
be like, I'm looking at this location and it doesn't exist.

Speaker 2 (13:25):
It's like the strawberry. The word strawberry has what two
rs or whatever, and it insists, yeah.

Speaker 3 (13:32):
Yeah. It's so confident, and I think that's I think
that's the hardest part about it. And that's why I
like the code gen score, because everything AI outputs is
going to be the most confident version of it. It's
like it has it's that person that You're always like,
how are they so confident? And yeah, it's because they
they just are. It's just who they. AI is just

(13:53):
confident and it's in its guts.

Speaker 2 (13:56):
In one sense though, I mean, you know, you never
want have to like double check everything, But in one
sense it is nice that you feel like you do
have to be very thorough and going back through and
really making sure is this sound code? Is this really
what I want to be putting out? So it kind
of is that built in I guess like pr review

(14:16):
for you or something.

Speaker 5 (14:18):
But yeah, yeah, because I'd rather have sound code over
something like video code or you know, something else like.

Speaker 3 (14:29):
That weird performance art code.

Speaker 5 (14:34):
Yeah, modern architecture code.

Speaker 3 (14:38):
Interpretive dance code. I might go for the dance code.
There you go.

Speaker 2 (14:43):
Can you demonstrate that for us right now?

Speaker 3 (14:45):
Laura, don't tempt me. I've had a lot of tea today.

Speaker 2 (14:53):
Well, Jessica, maybe maybe we can come back to the
signal forms in the ARIA here in a minute, because
you said that none of that was things were things
that you've worked on. So what have you been working
on things that you could preview for us a little bit.

Speaker 5 (15:07):
Well, there's stuff I can post of view for you.
Because I don't think people have talked about it a ton,
but I worked. I've basically designed and built the whole
New Animations APIs, which is something I've wanted to do
for literally probably three years. I've had I had like
a doc that I had written and hadn't fully completed.

(15:31):
And we've all been internally talking about how we've wanted
to replace the Angular Animations package forever, but we've never
been able to prioritize it. And actually AI has been
helpful as far as helping us prioritize that, because part

(15:54):
of our goals right now is to make the framework
less complicated to right, and you know, the animations, the syntax.

Speaker 4 (16:04):
In the packaging complicated.

Speaker 5 (16:05):
It's quite complicated to the point where you know.

Speaker 6 (16:09):
Even not content even out there on it. Yeah, I
remember dating into it. It's like that, like you structured.
It's almost like got its own language to it, right
or whatever asl or what Yeah, you know what I mean,
like you have to learn this this.

Speaker 4 (16:23):
Way of doing it.

Speaker 6 (16:24):
And so yeah, I remember touching it and I was
just like, oh boy, I just want.

Speaker 4 (16:30):
To like fade in. I just want to fade in here,
you know.

Speaker 6 (16:35):
Yeah, So tell us a little bit more about the
animation work that you've been doing well.

Speaker 5 (16:39):
Ultimately, the animations package was built in a time before
the CSS platform supported all of the native you know,
key frame animations and transitions and whatnot, so like at
the time, it was you know, almost industry leading because

(17:00):
it just didn't have anything to do that kind of
native integration with frameworks. And it does a lot of
magic under the hood that yeah, all the sequencing. It
also unfortunately affects like it replaces the internal renderer and
affects the timing for when certain things happen. That was

(17:21):
the old package, and that actually is an undesirable behavior
from the framework side because it makes it less deterministic
and when things will actually occur. So we've been not
a fan of that for a long time, and it's
understandable why it was designed to do that, because when

(17:42):
you animate away things, you have to deal with the
fact that you know the element is being removed, but
the animation takes time to actually occur before the element
actually is physically removed from the dum but the framework
isn't going to with that. It just thinks, oh, you've
removed a node. So having to deal with that is

(18:06):
the ultimate thing that adds complexity when dealing with animations.
And now like the platform has moved to the point
where CSS can pretty much do all of it everything
the uh the package was doing, except that whole thing
of delaying on the framework side of physically removing the node.

(18:30):
So uh the new animation uh anime dot enter and
animate dot leave. Really animate dot enter is not super
necessary because you like, you can do all of that
stuff natively.

Speaker 4 (18:46):
We really is there like an initial something CSS that
dropped recently? Yes, I've yes, starting style. Yeah. Somebody showed me.

Speaker 6 (18:55):
That the other day and I was like, I didn't
know you could do that. You can just transition it
in ye.

Speaker 5 (19:00):
Yes, yes, yes, And I actually put up a CSS
Working Group request for the mirror equivalent of that, Like
I actually put a proposal up to have like leaving
style or or exit styles interesting but that has unfortunately
not moved forward so much. It's still open and there's

(19:22):
still conversation happening on it, but there really should be,
because this would really be something that is handled on
the platform side. It's it's it would reduce the complexity
for just about every framework out there. But it does
make things harder on the browser side, because of course,

(19:44):
how do you deal with the leaving node, Like, yes,
like the browser just like you're you're essentially just calling
like the you know, removed child function and the browser
is just going to similar or to our frameworks expect
that the note is being removed, and you kind of
still want that behavior so that the browser cannet like

(20:08):
behave normally, so like you could rely on the CSS
like the page transition APIs to to try to like
take a snapchat or what snapshot. But there are still
some challenges there too, because there are now some recent

(20:32):
changes to the view transition API in which you can
only have one active transition per node and any new
transition will like override or cancel the old one. So
if you wanted to do multiple things at once, you

(20:52):
end up having to you know, you run into problems
there where when you're doing animation you may want to
do a multitude of things. And plus it is a snapshot.
It is not like animating with CSS, where you know
it's an actual thing that's happening with your keyframes. You

(21:14):
don't get a rasterized image that you're able to do
anything with, So just.

Speaker 6 (21:19):
Be a bitmap and then they send it like take
a snapshot, create a bitmap, let the GPU animate it
out and off it goes and then yu it.

Speaker 4 (21:28):
Yeah.

Speaker 5 (21:28):
Yeah, so dealing with like nested animations becomes really challenging.

Speaker 6 (21:34):
Layers and like layers and all of that becomes I mean,
because you can basically create a layer bitmap animated out
and get rid of it, but then it becomes quite
complex quite quickly.

Speaker 5 (21:45):
Yes, exactly. So that's why ultimately the exit styles hasn't
moved forward yet because it's not an easy thing to solve. Yes,
so we ended up adding both the animate enter and
animate leave, but primarily what was needed was animate leave and.

Speaker 4 (22:06):
That's really interesting.

Speaker 5 (22:09):
So now I would say for the past since since
twenty two, because twenty two is when it released, I
spent the vast majority of my time since then just
tackling all the like bug fix issues that have come
in to make sure everything works. And you know, with

(22:31):
any new API, you find out shortly after you've released
it the things that you did not account for and
were unaware that people were trying to do. So a
number of issues came in of like oh, this doesn't
work with content projection and this isn't you know, so
there's a lot of like refactors and fixes that had

(22:54):
to happen in that time, and thankfully we've gotten to
a point now where no more new issues are coming in,
So I think, yeah, I think we've now kind of
knocked it out and it's like really really like rock
solid now. But I am really pleased with it because

(23:14):
it's really the API that a framework should have. We
see this on other frameworks as well, like Spelt also
uses a very similar in turn leave similar like I
think react as a very similar approach. So it's nice

(23:36):
that we now no longer have to worry about you know,
well obviously until it's removed, fully we still have to
deal with it, but we don't really have to worry
about this like complex ast to deal with animating stuff.
That said, Like we have the occasional complaint that it's
like it doesn't have the child querying support and the yeah,

(24:02):
like the built in stagger behavior.

Speaker 4 (24:04):
But stagger that's right.

Speaker 5 (24:06):
Yeah, Like we did put up a guide for exactly
how to do that with CSS natively, so you can
still do it. But like it's it's just that it's
it's just not a simple you know, dot stagger function.

Speaker 3 (24:19):
So I think, uh, you know, I'm not particular. CSS
is not the thing I put on my resume as
what I'm awesome at, and so I could see where
there would be some hesitation for people to be like,
but I already know how to do the animation's API thing,
So like, I don't want to learn the CSS. But

(24:40):
I guess if you're writing those the kind of websites
that do fancy animations any wait, probably learning CSS would
be good for you. So maybe just take the leap
and you do have the migration guide up already in
the docks that give you helpful hints for how to
migrate stuff, which is really cool.

Speaker 6 (24:57):
I was gonna say, I would I would think the
CSS native approach is also just better and faster, right
than all the like the tweeting under the hood that
the animation library was probably I assume was probably doing,
and like that just feels like that shouldn't really be
on the main thread and just like occupying like compute
time and memory and so yeah, yeah, yeah, five, it

(25:18):
makes a lot of sense, yeah, yes.

Speaker 5 (25:21):
Yeah, because the old package couldn't be hardware accelerated and
native CSS stuff can that's actually part of the migration guide.
We actually mentioned that as a benefit of switching to
native CSS, and we actually put that guide up before
we actually did the like the release of the new

(25:42):
APIs or even announced it, and I know people were
looking at it with skepticism, like what's going on here,
And then as soon as we released the new API,
we updated that with like, okay, but now you can
use to wit that, yeah, because that's really the missing

(26:03):
It was the missing link that that guide needed. The
unfortunate thing is that when it comes to CSS and
CSS animations, it's not one of those things that you
can automatically migrate, and that is I think going to
be the biggest challenge. With the end of like in

(26:26):
one year, we actually can remove the package after its
deprecation cycle. We're going to need to do something about
that because like anything that affects layout and like what
is actually happening with how it appears on screen is
very fragile when it comes to tests. So even though

(26:49):
in general animations tend to be disabled in unit tests,
it's it's hard to like verify that the animation is
behaving exactly as you expected to.

Speaker 3 (27:05):
Yeah, I could see that definitely. I mean we have
a hard enough time being like did when we changed
this button? Did we ruin anything?

Speaker 5 (27:11):
Like?

Speaker 3 (27:12):
It's hard to like any visual regression testing is difficult
because you either get a ton of false positive so
you're kind of like chasing stuff that doesn't really matter,
or you aren't getting the results you want and yeah,
it's and it's a whole other testing layer that you'd
have to set up, and yeah, not fun. So so

(27:35):
in versus was twenty dot two that the animations library
was deprecated. So does that mean it will be scheduled
to be removed in version twenty two or do you
go a little past?

Speaker 5 (27:49):
We go a little past because we can't. We don't
remove in minors, so it has to be the next okay, major,
so it'll be twenty three when it's.

Speaker 3 (27:59):
So if you use a lot of animations right now
and you're listening to this podcast, now is a very
good time to start learning how to do see us
that's animations, because otherwise you might get stuck on twenty
one or on twenty two for a while.

Speaker 4 (28:14):
I guess yes, diving for you, no skydiving, Um.

Speaker 3 (28:19):
That's the bummer part. So which is an animation.

Speaker 5 (28:23):
Yep, I found out there's an indoor skydiving arena, Like.

Speaker 4 (28:28):
Yeah, I've done it.

Speaker 5 (28:29):
Maybe maybe like like the fifteen minutes north of where
I live, maybe I'll do that.

Speaker 2 (28:34):
There you go, There you go.

Speaker 4 (28:36):
You're in a tube like Giant fans or I didn't.

Speaker 2 (28:39):
That's where you got the release. You'll just be in
the chamber and then that's where you can get the button.

Speaker 5 (28:44):
Nice writing this note down for that video.

Speaker 2 (28:50):
Okay, I do have a question. It not not super
related animations, but you did mention something that really peaqued
my curiosity because a lot of what I've been doing
lately is managing different teams as far as running different programs,
running different initiatives, and there's always a question of how

(29:11):
to prioritize things, what comes first, what's most important, what's
most critical. And you had mentioned that you've actually kind
of used AI that it helped to move animations up
in that process. But I would love to see a
little bit under the hood of how does the Angular
team prioritize what you put into the next release and

(29:36):
what you're working on now versus what gets bumped back
a little bit.

Speaker 5 (29:41):
It can be a complicated process. Primarily. What we do, though,
is we have a series of pie shapes that has
all of the things that are important.

Speaker 7 (30:02):
Good morning, You know that moment when your coffee hasn't
kicked in yet, but your slack is already blowing up
with Hey did you hear about that new framework that
just dropped?

Speaker 4 (30:11):
Yeah?

Speaker 5 (30:12):
Me too.

Speaker 7 (30:14):
That's why I created the Weekly Dev Spur, the newsletter
that catches you up on all the web deaf chaos
while you're still on your first cup. Oh look, another
anger feature was just released, and what's this typescripts doing
something again? Look also through the poor request and change
slot gramma. So you don't have to five minutes with

(30:36):
my newsletter on Wednesday morning, and you'll be the most
informed person in your stand up. Ah, that's better the
Weekly devsper because your brain deserves a gentle onboarding to
the week's tech madness. Sign up at Weeklybrew dot dev
and get your dose of deafnews with your morning caffeine.
No hype, no clickbait, just the updates that actually matter.

(30:58):
Your Wednesday morning self will thank you.

Speaker 5 (31:01):
And then we put that on the click click, click
and whatever it points at. That's what we prioritize next,
I'm not serious at all.

Speaker 3 (31:11):
That's how I do it. I always I don't do that.

Speaker 4 (31:15):
I always had a feeling. So finally the tooth comes out.

Speaker 5 (31:20):
Yeah. Yeah, several of us on the team are big
fans of tabletop RPGs, and so ultimately we just roll
D twenties until you.

Speaker 3 (31:30):
Know, well it sounds like with the animations though, like
you can tie it to performance, and performance is literally
listed as one of the number one goals in the
Angular road map.

Speaker 5 (31:42):
So yeah, So for reals, like it is an ongoing
like conversation amongst the like the team leads and people
like that are kind of overseas all of Angular and

(32:04):
our product management side. We are prioritizing based on feedback
we get from both the three P community as well
as folks from the one piece space. We're trying to
take a broad look at the framework space as a whole.

(32:29):
And like obviously we have a lot of stuff in
our issue tracker like that factors in. We've all got
our own personal things that we've wanted to deal with.
There's always going to be the disruptor that comes in
as well, because like we have things we've we've had
like multiple years long roadmaps and things we've we've wanted

(32:52):
to work on, and then like, let's say AI comes
in and disrupts all that, so we have to kind
of it's a multifaceted thing where we're all kind of
keeping our eye on the industry. We're keeping an eye
on the direction we as a team would like to
see the framework go. We're also looking at how can

(33:13):
we remain you know, a competitive option in the space
that we're in, making sure that we're making developers happy.
A big goal for us has been reducing complexity, and
I guess I'd like to put it as like taking
the weird out of Angular, like, you know, because Angular

(33:35):
historically has been like where the opinionated framework, we give
you everything hants on, but the cost has been that,
you know, we do things a little differently than maybe
other frameworks do. And that's both a pro and a con.
And where I think it makes sense to keep that
weirdness in place, we have to kind of justify what

(33:58):
is the benefit that people get when they have to
cross a difficulty barrier. But I think AI in general
has kind of really made us rethink a lot of
a lot of decisions, and like, for example, when animations
came into play, we were like, what is the AI

(34:20):
generating and how can we how can we reduce the
complexities so that the AI generate something that is more
correct without as much confusion from the AI that factors
into it as well. One of the great things about

(34:40):
like having all of these AI tools now is that
what we've found is that these lms are stumbling stumbling
over APIs in the same way that a human would
stumble over at these APIs. So for us, it's been
really great and highlighting the areas that we absolutely need
to address. Yeah, so that's that's been super helpful for

(35:03):
us in prioritizing. It's like okay, like oh, like, for example,
the ARIA tags that have always required the attR in
front of them, we recently just like fixed it, so
you don't need to do that because the lms kept generating,
you know that the wrong way. So rather than us

(35:23):
having to fight with the ll M to say like no, no, no, no,
you have to do this, we just said, screw it,
let's just make it work without that, so that everyone, everyone,
and the lms are happier.

Speaker 3 (35:34):
And you know who else is really happy is my
interns that are like why do I have to put
a TTR from.

Speaker 5 (35:38):
Yeah, exactly exactly, So this is kind of this. This
has been a factor for us in prioritization lately. It's like,
what can we do to reduce the noise, reduce the weird,
make cleaner code gen output, while also making just the
framework overall better easier to follow. Right now, I would

(36:02):
say that is one of the biggest factors in what
bubbles something up to the top. And then there's you know,
we've been there's a bunch of things we've been talking
about over the past several years about like you know,
we've got a new reactivity system, how can we make
that more integrated into the framework. Of course, we also

(36:24):
have a long term vision for what we'd like to see,
So I think ultimately, when decisions are made, it's a
combination of all those factors that determines what will be
our next big thing. I think additionally, like you know,
we get feedback of like, oh, this is like an

(36:48):
API that's really missing from our reactivity system. People are
continually trying to do this. We need some sort of
primitive to support that. That's how like the resource API
and linked signal and yeah, all of that stuff came
to be based on that.

Speaker 2 (37:04):
Okay, right, oh, go ahead, Lauras, I was gonna say,
like I can't wait for like we need route guards
to like move into the reactive space.

Speaker 3 (37:13):
Like you try to read a resource and a route guard.
It's fine, it reads, it just doesn't react when you
get the value.

Speaker 2 (37:20):
So, like, go on from what you were saying, because
so what are the pain points then that like with
V twenty one, we're getting a new way you know
with signal forms handling forms. So what were the pain
points that these these new efforts are trying to solve

(37:43):
and what can we expect to see with signal forms.

Speaker 5 (37:47):
I think signal forms. When we designed signal forms, we
literally did it in conjunction with teams that heavily rely
on forms internally, and we used the feedback as a
direct instruction for us to design the API that people
wanted to essentially eliminate as many as many pain points

(38:12):
as people had with both template and reactive forms, to
essentially give people the API that they have wanted with
all the benefits of the signal reactivity system. So it's
like both more simple, more intuitive, and gives you all

(38:34):
the reactivity that you want with less of the overhead
of like having to deal with the way that the
older systems received that data or provided the interfaces for
how you want your form to look. Can you provide,

(38:55):
for example, like a data structure that is your set
of fields that you want rather than I think the
way that we've had forms in the past. So ultimately,
I think signal Forms is the exact like example of
how we're trying to reduce pain points, and it is

(39:18):
I think the right way to go about reducing the
pain points because we are essentially trying to take the
feedback directly from the end user and to tackle them upfront.
And like about a week ago, I was in a
stand up and Jeremy was commenting on how he spends

(39:41):
a little bit of time just to get familiar with
the Signal Forms API, and he's just like, I just
want to understand how it works and get a sense
for it. And here's the result. It's great, it's perfect.
So it sounds to me like the response has been

(40:02):
overwhelmingly super positive as if this is this is the
way it should be. Obviously, there are still edge cases.
It's a new API, it's experimental, we're still working through
a lot of things like like interrupts with previous API
form systems and dealing with things like deep mounts and

(40:26):
stuff like that. I know Leon, one of our team
members working on that this past week. I think a
PR went up like this week for that. So yeah,
and we're obviously going to continue polishing it, but like
it's yeah.

Speaker 3 (40:42):
I think the biggest criticisms I've heard has been that
they just want it now. Yes, yes, it's great. Can
we just have it? Okay? Yeah?

Speaker 4 (40:54):
Yeah, two year old?

Speaker 2 (40:56):
Soon They're like, I don't know.

Speaker 3 (41:00):
That means do you ever do this? Like okay, one
finding nemo? Like we used to have to explain time
to my kid based on TV shows or movies. So
oh these songs we sing a lot of wonder Pets.

Speaker 4 (41:11):
Yeah, and we'll say it's three.

Speaker 2 (41:14):
You're tapping into their their priority knowledge.

Speaker 3 (41:18):
So how many finding nemos will it be until this
is out of experimental?

Speaker 5 (41:22):
Oh that's a good question. Finding nemos? Like what ninety.

Speaker 3 (41:27):
Minutes something like that?

Speaker 5 (41:30):
Quite a few finding nemos is my guess.

Speaker 2 (41:34):
Might be finding more nemos than just the one.

Speaker 3 (41:36):
Of like, yes, what you're saying is I need to
wait for another sequel then.

Speaker 4 (41:42):
There you go.

Speaker 2 (41:43):
Finding Marlin now.

Speaker 3 (41:47):
But so it will be still an experimental version twenty one.

Speaker 5 (41:52):
Yes, I believe that is the case. Yes, that is
the case. There's still a lot of active work being
done on it. But it's exciting. I don't know what
the plans are for, like like when we'll see like
a considered developer preview or stable, but it's it's very,

(42:14):
very exciting to see it coming along and the sheer
amount of effort that's been put in by the team.

Speaker 3 (42:21):
So yeah, yeah, definitely. So, like for the listener, if
you're using forms, if you're working on a larger enterprise application,
you should expect that since it's marked as experimental, that
you will see breaking changes. Yes, yeah, so like used
with caution, but now's a great time to test it
out and give feedback because you might do the one

(42:43):
weird thing that nobody's thought about yet.

Speaker 5 (42:45):
Yes, yeah, we very much appreciate that feedback and we
want to see these issues opened up because that's the
only way we're going to address them. Especially it's best
to do it now while people are so focused on it,
because once something is out, you know, then then we
have to like you know, it is with contact switching.

(43:08):
You know, once you've started working on something else, you'll
lose a lot of what you were I mean like
anytime I go back and work on hydration stuff, now
I'm like, how does this work?

Speaker 4 (43:18):
Again?

Speaker 3 (43:19):
Genius wrote this? But sometimes you're saying genius sarcastically, like
what genius wrote this?

Speaker 2 (43:27):
Like, yes, yes, I'm glad you asked that, Laura, I
was gonna I was gonna ask that too. But let's
move into the accessibility updates and what we can expect
to see with Aria.

Speaker 5 (43:42):
My favorite Aria is the one from Mass Effect. That's
a reference that maybe some of you. There's a character
called Aria on Mass Effect and Fantastic. If you've not
played that game, you should play that game.

Speaker 3 (43:59):
Series and appreciate Aria over there.

Speaker 5 (44:02):
Yes, I think voiced by carry On Moss. There's another
one of those things that I have not worked on it.
That's mostly the components team side of things. I do
know what they're doing is pretty awesome. With Headless, it's
like a new headless component system with accessibility baked in

(44:27):
from the get go. So accessibility is a big thing
in general, it's very important. But we know, just like
you know in any other company I've worked for, accessibility
tends to be the yeah, yeah, yeah, we'll get to that, right.
So having it baked in at the start means you're

(44:51):
already ahead of the game for most things. So, I
I know, the whole thing with the new Angular Aria
components was just like, how can we build a new
headless component system from the ground up that is again

(45:13):
easier to use, less like a really good interface easily
like stylable, so you can create things that work in
a way that you will want to brand it for yourself.
And with basically being like accessibility first.

Speaker 3 (45:36):
Yeah, I think it's really having these kind of tools available. Also,
then if you're using Angular area, you don't have to
go in and maintain everything, you know, like you might
have to make changes, as you know, with each version
or whatever depending on what changes, but you don't have
to just constantly be aware of like what's happening in
the world of drop downs with accessibility, because accessibility is

(46:00):
one of those things where like we should just be
good at it, but it's just not easy, like it
it feels like it should be easy, but it's not
easy to apply a formula to it. Because you can
do everything by the book right and still mess it
up for your user.

Speaker 5 (46:15):
So yeah, absolutely, And like any standard, it's constantly being updated,
and the majority of users are not doing developer work
with a screen reader on and testing with screen readers.

Speaker 3 (46:34):
It's so annoying, Like yeah, I mean, you're not need
If you don't need it, it's hard to.

Speaker 5 (46:40):
Use, yes, And I think part of it is part
of that though, is like we should be testing with
it so that we understand the pain that anyone that
does need a screen reader has to deal with.

Speaker 3 (46:57):
Absolutely, because I like announces the button like fifteen times,
you're like, oh, I'm so sorry I did that. Yeah,
because I think about that poor person that's sitting there, like, Okay,
I get it. Yeah, I know it's a button.

Speaker 5 (47:10):
I'm always amazed because whenever I do, like, I've encountered
several people who are needing to use screen readers, and
they have but speaking so fast that I can't understand it,
but they are so used to it that they're just like, oh, okay,
uh and uh that's amazing to me that.

Speaker 3 (47:32):
Oh, absolutely, Yes, the human rane is amazing in general,
Like it's kind of it's like watching coding videos. I
used to watch a lot of Deborah Karata on plural site,
and I can listen to her at like one and
a half speed at the slowest. So yeah, I mean

(47:53):
like it's it's it is a if you haven't ever
turned on a screen reader and used your app, it's
definitely worth doing just to know what people experience and
just understanding, like some of some parts of the page
are just they're they're impossible to get to, or they're
hard to get to, or it's hard to understand what

(48:14):
you're what you're hearing and all that. So I'm excited
for these changes that with the Angular are package because
you don't have to use Angular material with it, like
you don't have to use Angular material components, so you
can roll these into your own component libraries, and so

(48:37):
I think it's.

Speaker 2 (48:37):
Stuff like this though, This is exactly why I am
like such a solid Angular believer. Though, I mean, you
you are creating I don't know, you're just making it
so easy for the developer, you know, all these improvements,
all these additions that you're baking into the framework. So
I love it.

Speaker 5 (49:00):
And you know, we do collaborate with the Solid folks
pretty regularly.

Speaker 3 (49:05):
So yeah, you know, I have to say, when we
were at Ergie Comp and you weren't, there were one
hundred percent less puns.

Speaker 5 (49:16):
Isn't that disappointing?

Speaker 3 (49:19):
I left with a little empty part in my heart. Yeah,
I had to go home.

Speaker 5 (49:28):
This is the second Enngie COMF I haven't been to,
and maybe next year I'll have to changed that. I
did so much travel this year. When NGI Comf hit,
I was just exhausted because I was doing a lot
of international uh stuff this year. I spoke at vt
KOMF and that was in Amsterdam, and like Energie Comp

(49:53):
was like the next week following it, I was just
like I can't, I can't.

Speaker 3 (49:58):
I literally like I got Energie COMP was the last
like travel conference I needed to do for the year.
And literally if it hadn't been Ergie Comp, I like
I could have see I would have seen myself backing
out in August because I was so burned out by
the end of August. It just it is. It takes
a lot out of people just to travel. So we

(50:19):
missed you, but totally get it. And those falls are
hard for me because I usually front load, like I
start in the spring and then summer is just like
go go, go, and then I just want to be home.
I like my cats.

Speaker 5 (50:31):
Yeah, yes, they haven't shown up.

Speaker 3 (50:35):
Oh that's why I keep turning off my camera because
I'm being a cat butler.

Speaker 5 (50:40):
Yes, I can give you a little sneak thing because
I know there were a number of comments about why
isn't Jessica in the V twenty video? Well, my mayor
not be in the V twenty one video. Nice, Okay,

(51:04):
well I think this is probably coming out after V
twenty one coming it is. Yeah, yeah, so I guess
if you want to edit that, you can be like,
you could just edit that section out and be like
sneak peek I am in the V twenty one video.
There's probably already.

Speaker 3 (51:17):
Sorination come for me. Y'all are already pleased to have
seen me in the video. Wasn't I amazing?

Speaker 5 (51:24):
Didn't you like that part?

Speaker 3 (51:26):
I did love that part. That one part where you
did that space that was amazing.

Speaker 5 (51:31):
I thought it was great too. You know, Mark and
I really worked hard on what that video was going
to be about. And Mark and I do a lot
of collaboration on plans around these release videos. So uh,
it's it's it's fun to be in the writer's room

(51:54):
for stuff like this. So you know, even though we're
recording this before the video, I hope you all and
enjoy what we've cooked out for you.

Speaker 3 (52:07):
I you know, I have to say personally, I always
love the videos just because they like there they go
a little bit weird, and I always appreciate that.

Speaker 2 (52:15):
So I love that we keep bringing up weird and
now and and you're saying you want to take the
weird out, but keep a little bit of weird. We
need a little bit of weird.

Speaker 5 (52:25):
You know. You can keep the world out, yeah, but
you can keep the weird out of their work, right,
but keep the weird in the community.

Speaker 2 (52:34):
Okay, okay, you know our content community, or I have
lost my place entirely. Yes, exactly exactly. Oh my goodness. Look, Jessica,
I want to be conscientious of your time. But is
there anything else that you wanted to let everybody know
about with be twenty one?

Speaker 5 (52:53):
Anything else? Let's see anything else that's I'm excited about.

Speaker 6 (52:59):
It's a big police I mean, zones is getting dropped
or can be out or whatever.

Speaker 5 (53:08):
Zoneless is pretty well baked. Now that's really exciting.

Speaker 6 (53:14):
Uhonglishment as an internal author I would imagine that alleviates
some complexity hopefully.

Speaker 5 (53:21):
I mean maybe not.

Speaker 4 (53:22):
I don't know.

Speaker 5 (53:23):
For now, we still have to support you know, both
zones and zoneless.

Speaker 4 (53:29):
It was being completely dropped. I misunderstood then.

Speaker 5 (53:32):
It is now fully like you don't know. Yeah, I
think by default yes, okay, by the fault is still there.

Speaker 4 (53:41):
Yes, I just have to provide it understood.

Speaker 5 (53:43):
Yes, yes it would. I don't know what the plans
are at the moment. I can't remember if we've discussed
when it'll be like removed removed, but uh yeah, it'll
be nice to see that go away.

Speaker 4 (53:58):
I would think so.

Speaker 5 (54:00):
But that's awesome. Gosh, what else have we improved? And
there's so much happening.

Speaker 6 (54:09):
Yes, client is by default some ENNGY class styling bindings updating.

Speaker 4 (54:16):
I think, yeah.

Speaker 5 (54:18):
I mean, I'm just excited to continue to in general
make the framework more performant, easier, to use, more enjoyable,
and to kind of streamline like this is what I
want to keep.

Speaker 3 (54:35):
I feel like that's the developer dream, right, Like I
just want my app to be performant from what I like,
I keep making it better.

Speaker 5 (54:44):
Yeah, I mean, we've been like toying around with things
like you know, selectu lists and the signal components and
stuff for a while. Whether that kind of stuff will
will come next is remains to be like discussed, I think,
but it's it's exciting to see what the future will bring. Yeah,

(55:10):
we've got a lot of really like stuff I can't
talk about, but very exciting potential future stuff happening. So
and I'm really excited to see where where that all goes.

Speaker 3 (55:25):
Yeah, absolutely, I feel like you there's been so much.
We got a lot of like like tools that really
affect us. The last several releases always being so cat
and you know it's like, I know, there's got to
be some set up me, Like I'd love to see
signals coming into the router. There's got to be set

(55:47):
up and thinking that's got to go into that, like
like you said, selectorless and signal based components, Like there's
a lot of places where we now have these great
foundations to start building from. But you know, we just
have to give you the time to do that.

Speaker 2 (56:01):
So yeah, that's fives, Laura, I.

Speaker 3 (56:06):
Have to wait five nemos and then you're going to
fix everything.

Speaker 5 (56:13):
I think. Yeah, I really look forward to when like
R x j S is truly optional, and that literally
everything is signals first. That is that is something that
I think will be a really wonderful experience for everyone

(56:33):
to have. Yeah, there's some really cool stuff that Andrew
Scott has been doing on router just this past week
enabling new Native navigation API. Stuff like it may be
very soon where you don't even need Routerlink anymore. That

(56:54):
any anchor tag animation or not animation, any anchor tag navigation,
since it will be using the native Browser Navigation APIs,
you could just intercept the navigation with the router because
it's just available now as part of the platform, so

(57:16):
you wouldn't need to add router Link anymore. And one
of the things I'm personally excited about with that is
that means that if you're using incremental hydration and you
have dehydrated code, the links within those would work without
having to do anything. There's like it would just intercept

(57:38):
the navigation and route to it, which is wonderful. It's
very exciting. So I really hope that turns out to
be something that's fairly easy to do, because we've been
thinking about, okay, well, how can we make router link
work within dehydrated code, and now that the platform supports

(57:59):
this kind of navigation API and enabling that, it should
just work without us doing extra stuff.

Speaker 3 (58:06):
Yeah, because instead of having it because roderlink's an angular thing,
so in order for it to work in dehydrated code,
it has to be hydrated because it's not angular yet.

Speaker 5 (58:16):
So either that or we have to have some way
where the router can see those router links at a
more global level rather than on a component level.

Speaker 3 (58:27):
Like maybe at the trowser level, like at the browser level.

Speaker 5 (58:31):
Yes, So I'm really excited to see the speed at
which Andrew is doing that work because I think he's
been kind of scheming on how to get it to
this point for a while with a lot of slow
refactor work, and now it's starting to really come to
fruition and land. So yeah, more to report on that

(58:56):
as as he continues his work.

Speaker 3 (58:59):
I think that's what I love about the team is that,
like there's always somebody that's doing something awesome, right, I
just don't tell you anything about and tell you like
until these moments where you're like, oh yeah, and so
soone says doing this, It's like, oh my gosh, that's
gonna be so much easier. Thank you for that.

Speaker 2 (59:15):
Yeah, well, Jessica, thank you so much. This was such
a great preview and really exciting things happening, like you've
like you've been pointing out, but I really appreciate your time.
Thank you to everyone really on the Angular Core team
and just everything you're doing there. You're listening to us,

(59:36):
us weirdos in the community. But yeah, thank you so much.
And how if people would like to follow you or
even connect with you on social what are the best
ways they can do that?

Speaker 5 (59:50):
You can pretty much search for the punder Woman and
you'll find me. I don't post much on social media
these days. I don't know if you guys feel this way.
Social media it's just not a not a wonderful space
these days.

Speaker 3 (01:00:03):
Yeah, I have no energy for it.

Speaker 5 (01:00:06):
And yeah, yeah, so like I'm there, but uh and
I have a link tree, so if you if you
search for for me on link tree, you'll you'll find it.
You'll probably have better luck with connecting with me on
like Steam or you know some of the other more
uh uh, less traveled places. I am on Blue Sky.

(01:00:32):
If I'm going to post anything, it's likely going to
be on Blue sky. Yeah, but uh maybe on LinkedIn
Yeah yeah.

Speaker 3 (01:00:41):
Nice and obviously at the next Endi comp because otherwise
punch shaped hole in my heart will just be.

Speaker 2 (01:00:52):
Of Jessica. Well, thanks to all our listeners. We really
appreciate you to into the episode. If you haven't yet
found our video recordings on YouTube, you definitely need to,
so go to the end of the YouTube channel find
the videos. There you can definitely see how interesting we

(01:01:15):
all look and not just hear our voices.

Speaker 3 (01:01:18):
And you get the great cat. The cat exactly yes,
because that's like video only really like you. We can
give good oral descriptions of what the cat is doing,
but to really understand his true glory.

Speaker 2 (01:01:31):
There you go, So goes the cat.

Speaker 5 (01:01:34):
He's giving me slow blinks right now.

Speaker 3 (01:01:36):
He's like, let's go make biscuits. Is he gonna? My
cat will leave me to the biscuit factory. So when
I go upstairs, we're gonna go to the There he.

Speaker 2 (01:01:43):
Is, Oh, there he is. Yeah, he heard you say biscuit.

Speaker 3 (01:01:46):
I know. He's like, are we going to the biscuit factory?

Speaker 2 (01:01:50):
I'm here, let's go.

Speaker 3 (01:01:51):
Yeah.

Speaker 2 (01:01:54):
Okay, Well, happy birthday Angular and yes, thanks again to everybody.
Will catch you Internet next episode.

Speaker 8 (01:02:01):
All right, bye, Hey, this is Prestol. I'm one of
the NGI Champions writers. In our daily battle to crush
out code, we run into problems and sometimes those problems
aren't easily solved. Ngcomp broadcasts articles and tutorials from angie
champions like myself that help make other developers' lives just
a little bit easier. To access these articles, visit medium

(01:02:23):
dot com, forward Slash ngcomp.

Speaker 1 (01:02:26):
Thank you for listening to the Angular Plus show in
chiecomff podcast. We would like to thank our sponsors, the
NGCOMF organizers Joe Eames and Aaron Frost, our producer Gene Bourne,
and our podcast editor and engineer Patrick Ky's. You can
find him at spoonful ofmedia dot com.
Advertise With Us

Popular Podcasts

Stuff You Should Know
Dateline NBC

Dateline NBC

Current and classic episodes, featuring compelling true-crime mysteries, powerful documentaries and in-depth investigations. Follow now to get the latest episodes of Dateline NBC completely free, or subscribe to Dateline Premium for ad-free listening and exclusive bonus content: DatelinePremium.com

The Bobby Bones Show

The Bobby Bones Show

Listen to 'The Bobby Bones Show' by downloading the daily full replay.

Music, radio and podcasts, all free. Listen online or download the iHeart App.

Connect

© 2025 iHeartMedia, Inc.