over 2 years ago Syntax Podcast
What's Up With Angular with Mark Techson
- 00:33 Wes and Scott introduce guest Mark Techson from Angular team
- 02:33 Mark explains Angular rebrand is just a rebrand, same framework
- 03:15 Scott asks about history of Angular JS and Angular
- 05:20 Wes asks about new Angular website angular.dev
- 07:15 Mark explains how interactive tutorials work using web containers
- 08:39 Mark discusses strengths of Angular ecosystem and adoption by enterprise
- 10:45 Mark talks about Angular being used in production at scale at Google
- 11:38 Mark explains Angular requires TypeScript
- 13:17 Discussion about Angular adopting RxJS Signals for state management
- 15:20 Wes asks about state management strategies in Angular
- 19:05 Mark excited about deferred loading with new template syntax
- 20:33 Mark explains declarative deferred loading syntax
- 21:29 Teams share ideas like deferred loading across frameworks
- 23:09 Mark explains new low-level control flow if/for syntax
- 25:25 Scott asks about meta-framework and SSR story for Angular
- 26:17 Mark explains hydration support but not full metaframework yet
- 27:39 Discussion about internal Google framework Wiz
- 31:10 Wes asks about new view transition APIs
- 32:39 Scott asks about CSS strategy in Angular
- 33:56 Wes asks how data flows from components to templates
- 35:07 Wes jokingly asks about competition with other teams at Google
- 39:37 Wes asks about component library ecosystem
- 42:03 Scott asks how Angular works with web components
- 43:02 Mark shares he uses VS Code high contrast theme
- 44:18 Mark discusses how he stays up to date on web tech
- 45:36 Wes says no need to rush to latest trends
- 47:39 Mark recommends tech radars to spot shifts vs trends
- 49:42 Discussion about Thoughtworks technology radar
- 51:27 Mark shares Godot game engine as his sick pick
- 53:48 Mark plugs Angular.dev and his encouragement videos
Mark explains Angular rebrand is just a rebrand, same framework
Guest 2
Just a rebrand. So here's one thing we we've been trying to be really clear about with folks is that it's the same Angular that you know and love. Right? Like, we haven't
Guest 2
Wii and the Wii U. Yeah. Right? Like,
Guest 2
Rewritten it. We listen. Listen. Listen. Nobody's, like, in the dark. We learned our lesson from which is there's Oh, you gotta get Wes, get into mermaid. You got to. So if you do a markdown Yeah. And you want nice charts in that are, like, that could, like, monitor your application.
Guest 2
Angular 1 to 2. Right? Like and Well, we won't make that choice again. Right? I mean, just like Nintendo learned their lesson between the most of them on Angular .dev to be using mermaid.
Wes asks about new Angular website angular.dev
Wes Bos
That's awesome because
Wes Bos
We've seen it with what other websites have this type of thing where If you want,
Wes Bos
there and you can kind of just type away. And then there usually is a button that says, like, do it for me or show me the
Wes Bos
Fixed result of that. And I think that's such a great way to especially when you're just, like, trying to reference something all the time, like learning Svelte over the last couple of months.
Wes Bos
you just read the docs and you come up with a little you're pretty excited about that as well? I think listener.
Guest 2
the learning journey.
Guest 2
And I led the effort to design the learning journey, and we made it in such a way That you could do, like, small bite sized lessons Mhmm. That take you, like, 5 minutes or less. Right? To just Learned a bit about Angular. You can jump out and jump in or go to a part that you like, and you could do it in a browser. You don't have to install Angular to to to learn to Try these things. I love that. Yeah.
Guest 2
this time as well is that When I say we we are a team who have learned a lot of lessons, I can't I can't stress that enough. We've just learned a lot. You know, we've learned a lot. And one of the things that we learned is it was really hard to learn.
Wes Bos
stumbled upon so many of these little tutorial
Wes Bos
to to be a little bit different? So I like that. Wait. What, like, stack are you using to be able to run does, like, does the compiler need to understand
Wes Bos
things where it actually shows it working. And it's nice because you can Mhmm. You cannot just like read it and understand, but you can say, okay, but my situation is a little different. What if I change it to do
Wes Bos
I have but tomorrow, it's in the framework. So 4 months from proposal to like and that that's not just like a, oh, we added a A new attribute or something like that's a major to the users real quick what that is because I hate when people talk about things like, what the hell is a headless component? So It doesn't make sense for people who are just building regular apps. Is that true? I mean, we've already seen that happen. We had AngularDart We have a show on Angular today. What is Angular? Modern Angular. You probably haven't tried it in a while. Maybe you have. We've got Tons of requests to do a show on Angular,
Wes Bos
we've seen it with Svelte.
Mark shares he uses VS Code high contrast theme
Guest 2
they use this I had a student.
Guest 2
at a university,
Guest 2
And he was perplexed the whole time.
Guest 2
I was explaining the bugging, and I'm like, you see these red lines? These are telling you what's wrong with your application.
Wes Bos
Yeah. That's
Guest 2
And I said, okay. I'll never ever again show my screen
Wes Bos
this whole Under hold as web components for server side rendering? So that's For web components.
Guest 2
one time when I was teaching, I mean, I know you're, like, a master teacher. Both of you are. Right? So it makes sense,
Scott Tolinski
Just blind you.
Scott Tolinski
What what do you do to stay up to date With web stuff. Oh, yeah. So this is gonna sound a little, like, buttery again, but
Wes Bos
Everything that I will ever display, like, when I'm on stage, high contrast. And is that high contrast light mode or dark mode? That's the big question. I do dark mode for
Guest 2
make sure I know what you folks are talking about. So, It is available to be called what Angular is now. Right? Just modern Angular, and we felt like all the changes we've been making deserved a new brand identity,
Guest 2
With Angular, you know, a new era for Angular going light mobile high contrast. No. It's high contrast dark. Beautiful. Yeah.
Discussion about internal Google framework Wiz
Guest 2
is, like, built in because it's at a lower level now in the template. I see. Yeah. It's because it's it's no longer a, We don't like it. We do not like this. And we conducted user studies. So one thing is that for the annual thing, we are evidence based. Right? We do user studies. We read feedback from RFCs.
Wes Bos
Conditionally show something Yeah. That, like, actually loading it until
Guest 2
And then it opened up the door for that deferred syntax now. Right? Because now we have this, like, built in syntax.
Wes Bos
Same as felt. It's a curly brackets pound if
Guest 2
And improve, like, the learning journey, we had to do better. And so now we have these really low level, And the street said, no.
Guest 2
Like process and processing A lot of people will reach for some sort of UI component library. Is like, what does that look like in the Angular space? Yeah. So we have 2 things for you on that place, and one is kinda built off of the other. So if you need something that's styled already and you like the look of material design, you wanna customize it, We have what's called Angular Material, which is a set of fully fleshed out components ready to drop into your applications today.
Wes Bos
to,
Wes Bos
So you added
Wes Bos
same thing for a for loop. Well, we're using at now. Oh, at. Sorry. You know what? I'm looking at the RFC, which was probably a couple years ago. I gotta scroll to the bottom. The RC wasn't even that long ago. The RC HTML or JavaScript API will allow you you to mark elements on 2 separate pages.
Wes Bos
has to hide or show or or And
Guest 2
So our if statements before were directives.
Guest 2
But what we found out is that if we wanna improve the performance
Wes Bos
If you're trying to visualize what it is, it's
Wes Bos
And Light mode.
Guest 2
Significantly. Right? Like, we saw, in some cases, up to 90% increase in speed because it's closer to the metal now. It's not having to go through the directive, Welcome. Thanks for coming on. Yeah. Why don't you give a give us an introduction of, who you are and what you do? Yeah. So, my name is Mark. I work at Google. I'm a software engineer. But At Google, I work as a developer relations engineer,
Wes Bos
And so we said, okay. Wow. I it's June 14. It was proposed.
Wes Bos
a major change, I would imagine.
Guest 2
as a design.
Guest 2
It's it's clearer to us if we use at.
Guest 2
We had to do a bunch of stuff. We We had to do a bunch of stuff to get this out, but it was the benefits are just so strong in terms of readability.
Wes Bos
Also, like, a syntax change. Like, you have to update all the The Versus code plugins and stuff as well? That is correct. That is correct. We had to work with Prettier.
Guest 2
We have developer conversations, and the the street said, no. We don't want that. We want at.
Guest 2
if statements and four statements. So here's how it worked before.
Wes Bos
and AI based one. HTMX is on there to assess. Wow. That is huge.
Wes Bos
This might seem kind of boring to the listener, but I think this is interesting move is built in control flow.
Guest 2
primitives that are available now. Right? For f and 4. And it's it changed our rankings,
Wes Bos
your templating? and it would always be
Guest 2
in terms of speed Right. And we talk to people like Rich Harris. We talk to people like Ryan Carniato. And we all that's the thing that people don't know about, like, these major frameworks. Like, we're not In a battle royale behind the scenes. Right? Like, you know, nobody shows up with, like,
Wes jokingly asks about competition with other teams at Google
Guest 2
But people externally, it just didn't make sense for them.
Guest 2
face when you work at a place like this. So so I'm real really, really grateful to have those experiences. Nice. What about UI components in the Angular space?
Guest 2
But for our specific use cases, like, we have So here's the one thing about working at a place like Google or Meta or Amazon. The scale that we talk about is very different than, like, the average user.
Wes Bos
make that to the rest of the world? And the answer usually is
Wes Bos
They build their own version of stuff internally,
Guest 2
And we're talking about, like, what is the future for us combining, And AngularJS
Wes Bos
because he worked on the design of those widgets, Like the weather widget or, like, the alerts. Later. Yeah. Those types of things. Yeah. Yeah. He did the one like you Google. There's a tornado right now. What do I do? And then he would he designed what shows up so you can read as quickly as possible. So what's interesting for me about working at Google is get to work with people who do things like that because as a developer,
Guest 2
Right? But they have a lot of good ideas and whiz.
Guest 2
Right? The average user's website, if you get 50,000
Wes Bos
and people are like, well, like, why don't you
Wes Bos
So if you want to go and build an app, you're probably not going to be building
Guest 2
you're going to get VC funding at that point.
Guest 2
I don't know for sure. Yeah. That's one of those things I don't know. I would tell you if I knew. I just don't know. That's fine. We're going to be starting a new type of, like, on the podcast, a new type of episode called The Secret Sauce.
Guest 2
That was public for a long time, which is a separate team maintaining, like, a dart version of Angular.
Guest 2
Right? So there's nothing to say that, like, releasing wiz publicly would, Those are a good way to kinda know where the broader industry because Twitter is a microcosm of what's the hottest.
Guest 2
per day, sometimes per hour.
Guest 2
a day. We're, like, at the millions of users And then if you are like, well, I want the functionality, but not that look,
Wes Bos
and have so many
Guest 2
like, forces? How do we collaborate together to do even better So there's more users. Yeah. We've heard a little bit about Wiz here.
Wes Bos
And we're hoping to get to the bottom of a lot of those questions. Yeah. Like
Guest 2
You know, it would rise to the the top. Right? And people like, yeah, we gotta use Wiz.
Wes Bos
are they using there that they can just load the JavaScript to build an entire How's that later in the in the thing? But then, like, they obviously don't ship that JavaScript
Guest 2
of returning that search result. Right? Like, there's an earthquake. What do I do? Right? Like, how fast that needs to be in order for it to be, like, a differentiator for a person. Never thought about that. Right? But, like, these are the types of problems you get to, like, I want to make games since I was a small kid,
Wes Bos
Facebook, Google, some of these companies that are so large,
Guest 2
One of the really interesting things is there's an internal framework called Wiz Oh, yeah. W I z, that powers some of your favorite web apps.
Guest 2
West Side Story?
Guest 2
Oh, deferrable views.
Wes Bos
Right? Like that To handle, like, scale that we do at Google, I have a lot of good ideas, and it doesn't make sense for us not to talk. It doesn't make sense for us not to learn to see what could happen. Like, I I'm always curious about that. Like, you you do a Google search for do a barrel roll and the whole page spins or, like, you You say set a timer and a little timer comes up. I'm always just like, what
Scott Tolinski
Mhmm. Well, you know who worked on some of that stuff was Travis Nielsen.
Scott Tolinski
A couple of people have mentioned it, but I think that's all it's as far as we've gotten with Wiz. Yeah. It
Guest 2
I'm not sure that I ever thought about, like, the urgency You just change things. And we have this process called zones
Wes Bos
Maybe you can tell me if this is right, but we seem to get the idea that
Guest 2
Right? And you're just, like, man, we're 50,000 Right? We're really, really great at scaling. And a lot of enterprise customers Hangouts or Meet. See, I can even keep it straight. Hangouts or Meet. I think it's I think we call it Google One of the things that I was just talking about with somebody is They're like, well, Mark, why doesn't the Angular team make, like, a React Native competitor like Angular Native? I'm like, well, because Angular, we kinda focus on what we're really good at. That's improving Angular.
Wes Bos
like, let's say you wanna make a funny funny Google search result. Like, what's the
Scott Tolinski
He Really? He might not know the technical, he might be able to connect us to somebody who would know the technical behind that,
Mark explains declarative deferred loading syntax
Guest 2
other firms would be like, oh, yeah. This is a good idea. We should do this too. And I I really do believe that because
Guest 2
or prefetch it when the bright when the browser says the idle state.
Guest 2
Defer the loading of this thing. Mhmm. Or you can compound that and say j s.org, he already has the new logo up there. So, even though it's always a good sign. That's fantastic. I haven't even seen the new logo for him yet. We've been We've been literally just trying to keep up with all the feedback Oh, yeah. And just, you know, keep going. Keep keep the party going.
Guest 2
Right? And then we have a bunch of these triggers and combinations of prefetch triggers and and interaction triggers, like, oh, only load this component when Something else rose into the view port. Yes.
Guest 2
defer that's what we call Furrable views instead of lazy loading because we're deferring the the the in within your template, So, definitely check out good morning with Mark that hashtag on Twitter
Scott asks about history of Angular JS and Angular
Scott Tolinski
a new dock site, new features, and we are Very, very happy to have delivered that. Nice. So I think, for some people out there might not know, there was a whole thing where
Scott Tolinski
2 was released,
Scott Tolinski
we we are now in a whole world of of just Angular. So that that's Awesome. So Angular .dev
Scott Tolinski
When Angular
Guest 2
was one of those. And what happened was as a team, we just got to, like, the limits
Guest 2
is the new home for Angular. Is that correct? That's right. That's what we're hoping that for Angular developers to just Get in there and get started. And people even new to Angular, can get in there and get started because that the one thing we did different, kinda like some of the other frameworks. So it so we you don't get that bleed that you worry about a lot of times Where you're impacting every component in the whole app. So, well, we've been supporting that for a while, and and we do that. But it's regular CSS.
Scott Tolinski
there was a lot of confusion over what then eventually became Angular JS And then what became Angular?
Scott Tolinski
Angular dot j s has been sunsetted.
Scott Tolinski
We have moved on, and,
Scott Tolinski
And, like, can you maybe
Guest 2
capitalize on the popularity wrap An Angular app into an Angular element and then be able to host multiple. Because let's say you have different teams who are producing, like, fully fledged apps, but they're, like, in a widget format,
Scott Tolinski
still a thing? much
Scott Tolinski
Give a a little bit of a what what happened and how how we got to where we are. Excellent question, Scott. So here's what happened. Angular came out Of the Gates is one of their original frameworks
Scott Tolinski
for we wanted Angular to be. Okay. So now it's it's just Angular.
Scott Tolinski
Is AngularJS
Guest 2
Yeah. Right. So even last year so it would be just 2 years in a in a month month and a half. Right? Right? But we we expose the APIs to developers who do wanna go that far. So you get somebody like this guy in the Angular community called Brandon Roberts.
Guest 2
So we're like, oh, yeah. Let's the browser war, so to speak, with the API, all of this tooling in the browser? Yeah. So we're using some web container technology And so I'm an I'm learning how to use it so I could teach them how to code. Wow. And to bond with him, of course. But
Guest 2
that changed the way that we wrote code. Right? Because before that, we were all using Lodash and prototype,
Guest 2
to Angular, it wasn't a big enough of an identity shift To let people know, and we just had a lot of confusion in the community. And in terms of Angular JS, were inspired by Angular.
Guest 2
of what we could do with AngularJS.
Guest 2
And so that was a part of our story. It's like, yeah, we were still supporting it who wants who who gets Task would like improve the performance of this page through, like, deferred loading or lazy loading. That sounds like a really heavy lift right now. Right? For it sounds scary. Right? Because, like, I don't know where to start. Right? Okay. I'll tell you where to start. If you're using AngleLab, Seriously, I I I look at what you folks are talking about. Like, a lot of times I'll see Wes do all these, like, short form content clips. I watch them, like, okay. Let me just see what, You know, what's the latest? And then I read a lot, and I get a lot from Twitter as well. Twitter is my number one place because it lets me know what's like of a fad or a trend,
Guest 2
And you were 2022.
Guest 2
wave of frameworks came around where you had, like, Backbone and Knockout web components. So we have thing called Angular elements,
Guest 2
And what ended up happening is that with AngularJS
Discussion about Thoughtworks technology radar
Guest 2
focused style of, like, script, if that makes sense. It's kinda just how, like, Unity Had, like, JavaScript, but it wasn't JavaScript.
Guest 2
like, game engine programming thing.
Scott Tolinski
Couldn't be bothered, and now he's like, alright.
Guest 2
YouTube.
Wes Bos
which is their own version of it. Which language are you using
Guest 2
You know what I mean? So it's kinda like that. What are you using to learn it? Oh, I just went on my favorite,
Scott Tolinski
I can do some basic scratch, and he doesn't see it as scratch. He just sees it. Oh, I want to get this guy to collect the coins. How do I do that? Oh, this is a loop. You know? So I'll have to check this out. It looks pretty sick. So I'm looking at it right now. It says use c sharp, c plus plus, or GDScript,
Scott Tolinski
Yeah. Yeah.
Scott Tolinski
Just started finally getting into, like, logic based games where, like, even, like, last year, he was, like,
Guest 2
people are loving Godot.
Guest 2
university, So even if I do a conference talk, I don't care what your theme is for your conference talk, my editor will be high contrast.
Scott Tolinski
My my son is the same age, and he
Guest 2
a programming,
Guest 2
scripting
Wes asks about component library ecosystem
Scott Tolinski
React has, like, the virtual DOM. I believe Vue currently has the virtual DOM, And that makes working with the actual DOM not a ton of fun. And, therefore, working with web components, not a ton of fun. Does does Angular work well with web components? Does it have like, what's its,
Wes Bos
just wire up the event listeners
Guest 2
we have a thing called the component development kit, the CDK.
Guest 2
because more people are wanting that. So, yeah, we're definitely talking about it. And let me explain it
Guest 2
Like, they're not based on material. They're just the kind of Think of, like, a low level like, you want a shed with no paint on it. Right? But you want the doors, you want the windows, you want the foundation, Now that's how we got deferred, but we needed this control flow first. So we got them both at the same time, if that makes sense. But the control flow is the 1st step to get to defer. The view transition stuff is pretty neat. So we we used a little bit of that The new syntax website. And
Wes Bos
well? I know or or is it just something you skin?
Guest 2
You want the roof. We give you all of that, and then you are able to go ahead and style those things and extend them as you need to, decorate it for your own needs. And Do you know if they can be used, like, headlessly as
Wes Bos
drop down filter yourself and all of those sort of common components, both because
Wes Bos
all of the logic
Guest 2
So you can go and take those, and then you can style those the way you want to.
Wes Bos
like the array that that data goes into.
Wes Bos
of adding selected classes, all of the logic to Like, let's say you have a drop down. You want to select 3 things from it,
Wes Bos
But a coding environment that you run-in the Browser, you visit it, and we have a whole couple of episodes on web containers as well as they also allow you to run loves class based JavaScript, don't they?
Wes Bos
there's a lot to them to make them work touch and mouse, and then there's a lot to them to make them accessible.
Mark recommends tech radars to spot shifts vs trends
Wes Bos
mermaid, dbt,
Wes Bos
design systems is a hard adopt,
Wes Bos
lightweight approach to RFCs
Wes Bos
that renders markdown inspired text definitions and creates modified
Scott Tolinski
Yeah.
Wes Bos
then things to assess. Let's see if we can find anything
Wes Bos
Oh,
Wes Bos
And that's actually a good question is, Can
Wes Bos
Oh, this is cool. I had never heard of a radar before in my life, let alone our answer to that always is, like, we'd love to, but, like, we just We just don't use it. So there's not too much we can really talk about it. So coming to our, Like a component some new features, not not a brand new version of Angular, all of the event listeners, the podcast. So,
Wes Bos
Alright. So last thing we'll move into here is a shameless plug and a sick pick. Actually, we'll do we'll do a sick pick 1st, did you come ready with 1? I did. I did. Alright. So my sick pick is probably Godot, g o d o t. It's
Guest 2
Let's see. Good for them. Good for HDMX. Good for them. And then under techniques,
Wes Bos
like, monitor Twitter and do surveys and things like that to sorta get a pulse. I bet they have their methodology on here somewhere we could find it. Cool. Oh, good tip. I like that a lot. That was that was very helpful.
Wes Bos
And charting tool, podcast.
Wes Bos
for our
Wes Bos
There is actual examples of them. They must, like Editor in
Scott Tolinski
Interesting.
Scott Tolinski
Oh, mermaid is it. Oh, man. I've never heard of that. Oh, yeah. Okay. I I actually have been on this page before. This is cool. Mermaid is a diagramming
Wes Bos
To adopt, Playwright. Agree. Playwright is the headless
Guest 2
oh, cool. Well, it's on my radar. We use this for the new Angular .dev. We actually switched a lot of our because we had a a lot of just graphics There were, like, chart explanations, we're able to, like, do some fine grain
Wes Bos
Lang chain. Yeah. It's kinda story look like in Angular. Like, if you want to hold a bunch of data in, let's say we have
Wes Bos
is under adopt. And then under tools,
Guest 2
and we switched
Transcript
Announcer
I sure hope you're hungry.
Announcer
so buckle up and grab that old handle because this ride is going to get wild.
Announcer
Wash those hands, pull up a chair, and secure that feed bag, because it's time to listen to Scott Tolinski and Wes Bos attempt to use human language to converse with and pick the brains of other developers. I thought there was gonna be food,
Announcer
Oh, I'm starving.
Announcer
This
Announcer
is the Syntax supper club.
Wes asks how data flows from components to templates
Guest 2
Don't just call it. Expose it. Beautiful. Right. You don't have to expose it. Just call it. Use use your things that's in there. So at the Google Christmas party,
Wes Bos
from your component into your your template that way? Is it is it A special variable that just gets made available in Angular land? Nope. It just works. No. You're not doing things. It just works. I I know that sounds very salesy, I don't mean it to sound like that, but
Wes Bos
What is like, how do you pass data
Wes Bos
behind how everything works. You make your components in there, and then Often you will link out. I know you can do the templates right in there, but a lot of cases you'll link out to a separate HTML file for your templates and a separate CSS file Or your CSS.
Wes Bos
do you ever
Guest 2
I like it. Music to my end. It just works. So if you have a property or a function, whatever in your component logic, Only part of the story we added what we're calling close to the metal built in,
Wes and Scott introduce guest Mark Techson from Angular team
Wes Bos
it seems like a rebrand. Right? Yeah. Mhmm.
Wes Bos
he works at Google. He's on the Angular team. He's here to talk to us all about how awesome Angular is. Welcome, Mark. Thanks for coming on. Thank you so, so much for having me. I'm super thrilled to be here. Awesome. Before we get rocking, let's talk real quick about Century. If you are going to be building an Angular
Wes Bos
Which is nice that you're not changing everything on everybody.
Wes Bos
an Angular app. You better bet
Wes Bos
brand new website, a brand new logo,
Wes Bos
a SDK Snick, right now. You can simply
Wes Bos
12, 13 lines of code. You can integrate Sentry into your Angular app, and then when stuff goes south, you're gonna you're gonna know What went wrong, what people did to to actually hit that. So check it out. Sentry. Io. Use coupon code toasty treat for 2 months for free.
Wes Bos
That's awesome. So Angular
Wes Bos
Awesome. So, Mark,
Guest 2
and I, yeah, I work on an Angular team. It's been a really, really fun
Wes Bos
Has released a
Wes Bos
probably in And Ruff I don't know. He is. Only ever heard of only heard of Snick, seems a lot like the Svelte story for this thing as well, Where, like, you can store your data and and then just inject it wherever you want. And I'm a I'm a major React fan,
Wes Bos
Who is
Wes Bos
and
Wes Bos
coming to save us is Marc Texan,
Wes Bos
And
Wes Bos
Sentry has
Discussion about Angular adopting RxJS Signals for state management
Guest 2
One of the hard parts that was kinda holding us back was that we have this really cool idea that's problematic at scale, And that's like change detection. Right? So every framework has change detection. So let's say if you think about React, where a lot of folks are familiar with, If you want to say something has changed in the DOM or my UI, in my state, you call set state.
Scott Tolinski
as well. Is that That that's correct. Those are baked into Angular as a, state management. Well, so that's new for us is, to get signals involved.
Guest 2
Right? And it just then it kicks off the process.
Guest 2
to work around some of the limitations that appeared at scale. So then we were thinking, like, yeah, what can we do? We gotta do something better for our community, and then that's how we started to investigate things like signals as a solution.
Guest 2
So if you just change something that's being used in the application,
Guest 2
Right? But At scale, it's problematic, and we just found that out. And then our developer community had to find so many ways
Scott Tolinski
But, yeah, Angular seems to be first to a lot of stuff. You know? I know I don't know if they were first, but they were one of the first ones to implement signals
Guest 2
it just knew to rerender everything, And then I was, like, what's going on? Then one of my TA said, Mark, he can't see the red lines. He's color blind.
Guest 2
With Angular, you don't call anything.
Scott Tolinski
And it was like, now we're wondering why you wouldn't use TypeScript on something. So
Wes Bos
a show component. Right. And then you have the details of this podcast. You have the title, you have the description, you have the guests, What's the process there? Welcome Choose syntax.
Wes Bos
And and now we're working on it. That's was going to be my next question, but you sort of answered that is like like, what does the state
Scott asks how Angular works with web components
Guest 2
That you can use. Yeah. And so so what some developers would do, we've seen this, sometimes at the enterprise level. They'll
Wes Bos
the next section of the episode, which is our supper club questions.
Guest 2
it doesn't have a virtual DOM. Correct? Right. Right. Right. Right. So we do have server side rendering. But the meta framework story, we're we we haven't made a a firm decision on what we're gonna do there. But like I said, Brandon and Analog, they're doing some stuff. Go ahead. Go off. Have a good time. Yeah. And Brandon's actually been on the show. We didn't talk we talked a little bit about Angular, that having experimental so it's in experimental
Guest 2
So, they should've made a different name. We should pick a different name because that was actually a different framework. In this case,
Guest 2
and Angular element is is our version of a web component So if your browser supports it, then you can write it in Angular, and you just write it as a part of your component off of it. Is it just like like you said, it's just with a style tag in your component File, is that the So in your component file, you can do right with the style attribute. So we do, like, a component metadata decorator. Oh, cool. Okay. Okay. And then you just have, like, your Styles, and then you could just use, Up until last year, but we have been moving forward with the vision
Guest 2
you know, be able to import, like, bolt and then be able to run multiple versions of their, like, application, lazy loading. But that are are running? Oh, sure. Sure. Well,
Guest 2
You know, through these Angular elements. Alright. Let's move into
Guest 2
And you wanna host to those on, like, a dashboard, for example. Sometimes we've seen developers, Right? Like, that's a feedback we had a lot a lot of time. I'm sure you both have heard that that Angular is really hard to learn.
Guest 2
Components, building stuff. But eventually, we're going to have an episode, which is Teaching kids to code. Oh, I can't wait. That's gonna be rad. Teaching kids is awesome. Alright. And then shameless plugs. What do you got for us? Alright. Shameless plug. Angular .dev. Head over to Angular .dev, the new home for Angular developers where you'll find all kinds of things, a new interactive playground, Fine. RIP domains, but domains was written in Angular. There's
Wes Bos
you, an Angular developer, what
Wes Bos
text editor
Mark discusses how he stays up to date on web tech
Guest 2
then it lets me know what's, like, staying. Yeah. You know what I mean? Like, I knew next day s was a big deal Because it stuck around for a long time, and people still talked about it. And then I knew that, like, remix was a big deal because people still talked about it for a long time. But But then when I saw some things that I can't even remember what they are. Right? Because they just stick around. Right? So that's how I can kinda, like,
Scott Tolinski
There's no harm in being a little late on some of this stuff if it means that you're not jumping into every
Guest 2
just smaller things where it's like, oh, like, use this new, like, library for CSS. See, that could potentially be a trend.
Guest 2
You know,
Wes asks about state management strategies in Angular
Wes Bos
But that's the one thing I I really don't enjoy about react state is that you have to pass it down every single level, Or you have to stick it in contacts and and reach out and grab that type of thing. So
Guest 2
that might be a good way to do that for you in a a clear way because the one thing about signals Is that they know where they're being used in an application. They know when changes happen.
Guest 2
I say special a lot, but I To get to where we wanna be long term.
Wes Bos
That's really great. Anyway, let's talk about some of the new stuff in In Angular 17, I know, I I caught a quick look at it. Deferred views, built in flow control, view transitions API.
Wes Bos
it's really nice to be able to Stick your state in a signal and then just use dependency injection where you need it. And then you can do things like What about this? it's kind of interesting. So, like,
Wes Bos
And you wanted to display that
Guest 2
people are just like, okay. I get that, but the card thing is, like, super clear. Right? That's fantastic. Really, really great. Like, I always think about it as well. It's like, you don't wanna be storing have taken to Angular, and it's been really fantastic. And it's classes. Enterprise To be
Wes Bos
And then that data needs to be passed to other components that could be used. What are you doing for that? Is it simply just like I know you said it before. It was just variables, right,
Wes Bos
2 values. You don't wanna start, like, cart total, Or you maybe you don't even wanna star store a cart total. You wanna have an array of items, and then from that array of items, you wanna compute The total of that, and then you want to add the tax, and then maybe you want to format it. Maybe that's more of a templating thing, but, yeah, It's good. I I don't know. You're probably buttering us up, but you can,
Wes Bos
So for people listening, I don't want to get too in the weeds, but a computed value would be like, let's say you have the idea for listeners is that view transitions
Guest 2
Ways that I've heard someone explain compute it with the cart example.
Wes Bos
I I like that a lot. It, honestly,
Wes Bos
effects and computed values off of that or a directive on the you don't have to render it out. And then that renderer
Wes Bos
is,
Guest 2
Right? So we kind of maintain backwards compatibility as kind of a core tenant. And so if you wanna do state right now, there are lots of ways to do it, which part of the confusion that we're trying to help simplify.
Guest 2
Like, why there's so much, like, hype whenever y'all, like, do anything around education? Because that is fantastic.
Guest 2
So if you go from, let's say, 16 to 17 and we say signals are the thing in 17, You don't have to use signals yet until you're ready.
Guest 2
this value here. That is one of the best Angular has this idea of directives. Directors are are like these users a day, you're like, Yeah. Right? Before we even knew that High Script was gonna win the
Wes Bos
being passed in, and then now you can use signals if you want to, or is it is it all signal? So now you can use signal. So one of our big Core tenants is that we don't break our community.
Guest 2
Because I usually do, like, full name. Right? But, like, full name is such a limited example because
Guest 2
I I'll put the country crock away. Don't worry. Stop buttering y'all up. No. But that is really a fantastic example.
Wes Bos
we'll send Google the bill for that one. Yeah. Yeah. Right.
Guest 2
Right? So you can do you could do something like a service, and we have so one thing that we have that's really special is dependency injection.
Mark excited about deferred loading with new template syntax
Guest 2
defer the comments
Guest 2
on in an app. Right? So right now if you think about the way you do things, Right. So think about dependency injection aspect or to, like, programming, like that type of dependency injection. Right? Where you can say, well, here's this resource and I wanna provide it To different parts of my application. So you could technically store your state in a service and then provide the different parts of your application the same way. You know, you could do that. And there are other ways, but now we're saying, well, if you have signals, glass glued to, like, bandit drops in your hands for a brawl. Like, we talked, and we're all thinking about how can we move, Right? Now this guy makes a framework called analog JS, which is kinda trend spot versus, like, oh, this is a shift. So for me, I look for shifts, like a shift in the way we write CSS. So, like, grid. Right? Use grid for all your layout stuff. That's a shift. Right? Versus, Right now, in your template. It just works. You don't have to pass anything over. There's no, like, dollar sign, dollar sign, variable name. Nope. Just
Guest 2
are future work. And what I mean by that is we'll see this and other frameworks. Okay.
Guest 2
What's your favorite stuff, and and what's the most useful coming out at Angular 17? There's so much good stuff, To be honest with you, but at to be a little biased, Almost 20 years ago, Right? Because it could be in favor this month, and then we could find the next tiny new thing, you know, next month. So I have to watch out. Wes and I always like, So one of the things that we did different with Angular dot dev, We rewrote from scratch
Guest 2
parts boundaries of this template
Guest 2
Deferrable views
Guest 2
if you do lazy loading, you're usually doing at the router level. Like, at your router, you're saying
Guest 2
define lazy loading for components
Guest 2
is The ability to declaratively
Guest 2
that okay. So but people's like, okay. That's okay. But why is that special for Angular? What where we're taking it into a different place is that we're giving you
Guest 2
Because it's such a good idea. Let me explain what kind of what that is. Other people at home like, you mean? That's gonna be other frameworks. We know what you're talking about, bro. Let let let me explain. So when I say deferral view, so what we're introducing signals was one of those things where others implemented it, and we're like, this is a really good idea.
Guest 2
Defer the loading of this route. Lazy load this route. I'm saying within a template, you could mark
Guest 2
And that that's not at the JavaScript level. You still haven't even touched JavaScript.
Guest 2
customizable triggers for you to trigger that lazy loading At a declarative way at the template level. So you say, I have this huge, comments component. Comments are usually pretty heavy. Right? And you don't wanna do it unless somebody says view comments. We give you just like a simple one liner for you to say, I don't know for sure if that's wiz.
Scott asks about CSS strategy in Angular
Guest 2
You just add it to your component, but it is scoped to the component, was a few months ago, but but that RC thing is really interesting, West, because here's what happened. We proposed Oh, wow. That syntax.
Scott Tolinski
Some library like, React has, you know, a bunch of user land solutions. Vault has scoped
Scott Tolinski
What does Angular do for CSS? How do you how do you author it, and, you know, what's the deal there? Sure. You can do CSS or you can do SaaS,
Scott Tolinski
Vue has scoped CSS.
Guest 2
and it's
Mark explains new low-level control flow if/for syntax
Guest 2
start at atdefer.
Wes Bos
Misko, who builds quick, is it tries to figure out which parts it should learn, Should load for you.
Guest 2
It it really removes the barrier for developers. So think about a junior developer
Wes Bos
we're not gonna sit around like, of course, we can wrap it in a defer or, like We've had the
Guest 2
Like, deferred loading and optimization. You see? And then you're like, oh, I want the t. So then fine, you wrap that t in, like, what we call a template variable, which just means put a hashtag in the name of it. Yeah. And then in that deferred block I just described to you, in the parentheses right after deferred, you write
Guest 2
Is so high level for developers. They don't have to do anything heavy. Like, you don't you don't have to do the heavy work as a developer Unless it's high contrast. Uh-huh.
Wes Bos
That's what he start, and then you write it with curly braces. And then you you already are, like, halfway through your thing, and then you customize to your needs after that. I got it. I got it. I like that. It's We talk a lot on the show about, like, do it for me. A lot of this performance stuff is not ever going to work So
Guest 2
Hashtag There's some other frameworks who had used the first line. Of course, we know Solid has been one of the pioneer frameworks that have really leveraged signals from the start. And We've we will look so here's how we got the signals.
Scott Tolinski
The the meta framework story, if there even is 1 within Angular, or does Angular just do that all? So, like, in in React, There's Next. Js and Svelte. There's SvelteKit.
Guest 2
tea. Whatever you put your the name of it. Okay. Fine. There you go. That's the whole thing. Right? And so that's why I said it's special because text based and not like PNG graphics you have to make?
Scott Tolinski
All their functions and all their variables just to know how to make it work fast, and that's, like, not not a good ask. I I what's, like, the
Wes Bos
Unless the framework or the tooling or the compile step does it for us. Right? And, like, That's the headless part. And then the head full part is you would bring the divs, you bring the inputs, and you simply weird use cases that this makes sense within our company, but We are curious, Oh, yeah. Hashtag good morning with Mark. Alright. So I'll link up that search.
Wes Bos
the old author of Angular JS,
Guest 2
on viewport and I have I made games before. And it was very hard because I made my 1st game in Java, attributes that you can add to a HTML tag or your components that enhance the abilities.
Scott Tolinski
Typically,
Mark shares Godot game engine as his sick pick
Wes Bos
to ask him questions about
Guest 2
because of this, like, game schedule.
Guest 2
With now Warner Brothers, but it but it was like NetherRealm Studios, people who make, like, Mortal Kombat.
Guest 2
And I was just like, oh, okay. Great. I'll just do this. Because I did game development. So true story. Before software engineering in this form, I was pretty set on the path of game development.
Guest 2
Pass. That's okay. So I will make games with my kid, and so we're gonna make some game. I forgot what he called it. It's like master sword or something, Right? And that's what makes signals really special.
Wes Bos
I've never heard somebody be like, yeah. It's it's great balance for
Guest 2
If this that's what I'm gonna be like, I don't wanna do it. No way. I've never heard
Wes Bos
good about the game industry in terms of work, life balance. There's certainly a lot of people who love it and are all in, but
Guest 2
And this guy this was 20 years ago, mind you, so things may have changed. But this dude, he he came to our class, and he was so
Guest 2
And that's not the that's not a game language. Yeah. But I made 2 d and 3 d games in Java, and then I in grad school, I even made games. And then I was like, What changed my mind from games to regular software engineering Yeah. No mermaid. Hey. I'm I'm in on mermaid. I agree with, Thoughtworks.
Wes Bos
Anything
Guest 2
And then I found, like, a 90 minute tutorial, and I was watching it on the plane yesterday.
Guest 2
where we gotta, like, Eat chickens and destroy bad guys with a giant sword. So I'll post it whenever we finish light building it. I've been keeping notes on teaching kids to code because
Wes Bos
I've got young kids myself, and I've got a nephew who is getting pretty serious into it. And every time I see him, I ask him all kinds of questions. Almost want to have him on the podcast
Scott Tolinski
so
Guest 2
withered
Guest 2
Like, he looked tired, and he just was like, you know, I'm just so sorry. I I can't even stay. I gotta get back to work. And I was like, damn. You can't even do, like, a A 40 minute lecture to some grad students that said, I don't wanna do this.
Wes Bos
building games. It seems crazy. Pass.
Guest 2
a new browser based tutorial, And
Mark explains hydration support but not full metaframework yet
Guest 2
we will give you the tools to continue that work. We won't block you. And that's how we're handling it for now. Right? Because we do know that people want a meta framework, but we're also saying, here's what we're really good at and let's really make sure we do the things that we're really good at. And that's again improving Angular. So our hydration and service side running story is top notch now. Right? We're we're feature parity with most things that do,
Scott Tolinski
but I can see on analog
Guest 2
But here's what we did. We were like, hey. We're gonna do this hydration thing, But we're gonna make it so that way if people want to build more and go further,
Guest 2
File based routing and some of that, like, meta framework style work. Mhmm.
Wes asks about new view transition APIs
Wes Bos
via
Guest 2
One line of code. Throw it in your router, and let's see how it works.
Wes Bos
Look at the show cards and click on one of the shows. You'll see the show number maybe after the page is loaded or maybe once The the the top of the t of transcript
Wes Bos
It's being baked into a lot of these frameworks now because
Wes Bos
And when you change those pages, you can transition them from one to another. So go to the Syntax website, a cart total and it just says 500 yes, all. If you want to learn, triggers it way its way into the viewport. And then, okay, let's start loading that page. Maybe they're gonna click on the button. Is that a use case where it could be? And, like, the data fetching can happen in the component itself. So yes. But I think that A headless component would be
Guest 2
I think it's really cool. I think that it's gonna really help on the mobile web. I think that's where I can't wait to see what people completely develop with that API. Not even for Angular. I just mean in general. Right? Like, imagine, like, or just mobile websites we just Sunset that as a product maybe, I think, within the last 2 years.
Guest 2
when there are shifts in the in the way people write code and do things. And so this is an important way for us to do that as well. So what what's the CSS story inside of Angular?
Wes Bos
and a bunch of stuff animates itself the way through. And I think it's so cool that It's time for you to check it out. And case in point, we've probably talked about view transitions. This is probably the 4th time. So we got 3 more times to talk about view transitions. Then listeners, And the the things that the library would give to you. In that same regard, like,
Guest 2
with just plain old fancy CSS. I mean, like, that is just fantastic. So Really excited about that. I think that it just and for us, it's important to continue to keep it's like we don't wanna keep up with every trend, but we do want to be present confident,
Guest 2
Having that closer and closer to, like, native app feel Deferred loading thing. Yeah. Really, really like that's that's that's also this is one of those things where
Guest 2
support right now where we're just like, hey. Throw this in your router.
Mark plugs Angular.dev and his encouragement videos
Wes Bos
we'll link that up as well in the show notes. Awesome. Well, thanks again. Appreciate all your time, and have a good one. Hey. Thanks for having me. It's been a blast. Yeah. Likewise. Thanks, Mark. Peace.
Guest 2
and sharing a lot of transparent moments of how I get myself unstuck. And when I get stuck again, how I get unstuck again.
Guest 2
one more thing is we will plug your Twitter as well, which is Mark Texan. And can I just plug 1 more thing? One more shameless thing? Yeah. Oh, yeah. We we plug all day. Oh, great. Great. So one other thing that I do is, I love to encourage people. And I'm really into, like, helping people, like, get get unstuck.
Scott Tolinski
Head on over to syntax.fm
Scott Tolinski
for a full archive of all of our shows,
Wes Bos
who has ever been on if statements
Scott Tolinski
more.
Scott Tolinski
And don't forget to subscribe in your podcast player or drop a review if you like this show.
Guest 2
on Instagram, you'll find some of the videos that I've make. I make, weekly videos
Wes Bos
So check that out. And it works really well on mobile as well, which I was Very happy to see. Cool. Alright. Thanks so much for coming on. Appreciate all your time. And, we don't have to reach for some crazy flip plug in or whatever. So
Wes Bos
so nice.
Wes Bos
Thing, just go for the scrolling experience. There's a very
Wes Bos
And, also, for listeners, we started a Twitter list of every guest Seems like everybody's getting in on that.
Guest 2
Around somewhere between 1 to 2 minutes, just encouraging people, trying to help folks get unstuck, which sounds fantastic.
Wes Bos
I'm, like, playing DJ with my mouse here making it scroll in and out. Like,
Wes Bos
buttery Very buttery. Animation
Guest 2
Or on YouTube or We're just saying on interaction with the button that says load comments,
Mark discusses strengths of Angular ecosystem and adoption by enterprise
Guest 2
Angular is used at Google. We have thousands of Angular apps. When we make a change,
Guest 2
But the main And I told him we can design and build a video game. And so Godot was like and I did a lot of research. There's Unity. There's Unreal And, Jen, and then the community, like the grassroots level,
Guest 2
it's really hard to say, like, what's so different about frameworks These days because everything is so good. Right? Like, you just you you get so many good options. But if someone's gonna say, well, I want to use Angular or why should I use Angular, what would I tell them? First thing is I think the Angular ecosystem is absolutely fantastic.
Guest 2
you know, production applications I still call the hangouts on my heart, but I think it's fine. You're absolutely right. I'm saying always go to hangouts first, and then it's always like, oh, this is not it. Right. It's me. Right? But, like, you know, so so we think about Things at that scale, sometimes you have to have custom solutions.
Guest 2
Like, Evan, you talked about the things that he'd learned from Angular
Guest 2
domains.
Wes Bos
That's not a Angular that's not Angular's fault, is it? That's not Angular's fault.
Guest 2
is with Angular Firebase console, Angular, Google Cloud, big Angular app. Oh, we got quite a few messages. It's Angular. So Angular is and that's the and that's the third thing I was gonna get to, which is that enterprise love Angular. Yeah. You know why? Because Angular is really great at scale.
Guest 2
it is a battle tested framework, and I can't stress that enough because Angular not only goes through So here's a big difference between this and the other frameworks.
Guest 2
And guess what? There are already tools out there that can do Angular quote, unquote native. Right? And the fact that we enabled the community to be able to do that, I think that makes Angular special. Another thing is 24 hours. And just even working at Google has been really fun. But the last 24 hours for Angular have been really, very special. So it's been a great time.
Guest 2
they go through of Angular and keep the same name, but we have to rewrite the framework but we'd have to wipe it because we have to rerender with Angular so you get a flicker.
Guest 2
I know what happened to domains.
Guest 2
Thousands of apps. Right? So we get this really like, the web forward. And this is an area where I think we'll we'll do our part To move the web forward by bringing out this thing. That comments example, I'm thinking about Right? Do that. So it's, like, really fine grained transcript in curly brace.
Wes Bos
at the scale of Google. Is there any examples that are public facing And I'm really excited to see that being implemented in so many different frameworks because it's it almost takes nothing to to improve the performance of Your app. Yeah. We really can't, like, rely on developers to have to learn when to use use memo and use callback on We are we are so huge
Mark talks about Angular being used in production at scale at Google
Wes Bos
type of file that behind the scenes gets generated into, on the page somewhere, you or if you had a value that needed to be computed off of that, it added tax, and then it formatted it in a certain way. You could do that with a computed signal where you say, alright, well, the value is in state, but What I want to actually compute based on that and when it changes
Wes Bos
Angular be written not put it on the page because it's an if statement.
Wes Bos
With Angular,
Wes Bos
They do. I'll I'll tell you that. It's like people are probably sitting here listening to this. Like, okay. Like, how is it different than Then my type of thing. And a lot of the frameworks that you use are just function based or they have their own cooked up component,
Wes Bos
in JavaScript, or or must there be a compile step?
Wes Bos
into JavaScript. Like like Svelte, for example, is just It turns It looks like JavaScript. Right? But,
Guest 2
No. It has to be, the the the compiled stuff, and I'll tell you why. In the beginning, Angular was actually the 1st framework to use TypeScript.
Wes Bos
it has to be compiled into it.
Wes Bos
entirely
Teams share ideas like deferred loading across frameworks
Guest 2
at defer, was that I met a game developer who worked at,
Wes Bos
a component we have on the Syntax website that was pretty large as Transcript component,
Guest 2
Oh, okay. That is the logic. You see what I'm saying? So our our, like, API
Guest 2
It's even higher level for the API because you you mentioned, like, putting the logic to do that. The logic is in your template
Guest 2
Curly
Wes Bos
because it needs to fetch every single word we've ever said, as well as metadata around when those words were started and stopped. And It's fairly large, and it was it was causing the show page to be a little bit sluggish. So Scott rearchitected it, so it was on, like, a different load, and it only loads when you Explicitly click that. But I'm wondering, like, if that was an Angular component, say a transcript component, Why does why is Angular going through this whole
Wes Bos
I could put the logic for Both fetching the data for that component as well as
Guest 2
brace so I use Versus code for all of my stuff, and then I actually use high Contrast theme No. All the time.
Mark explains how interactive tutorials work using web containers
Wes Bos
happens in the browser, which is wild to me that you can do that.
Guest 2
Yeah. But we're just making a new brand to represent I like to do the same where you do, like, a string literal with the back ticks. So you could do all your spacing the way you want to, And you just write all your CSS there, or if it gets too unwieldy, which it will at some point, you could put that in a separate file if you want and then reference that file from your component. Yeah. That's what I was I was looking at. Like, most components are you have your TypeScript file. That's the logic And and that's because Injection. So there are features like that that we take advantage. Like, the decorator is a big example.
Guest 2
and I never even thought that we'd be able to do half the things. I I didn't think we were gonna get Rounded corners without JavaScript
Guest 2
So one of the things that people don't know about things like Vue and Svelte And some other frameworks is that they actually To to build stuff. Oh, I'm gonna go with just with the GD script. Is what is it is it look like JavaScript, or is it like a Python? A little bit. Yeah. And a little mix of both. You know what I mean? It it's a definitely Right. And and like the scale of like, think about how many people have Gmail open at all time, have calendar open at all time, how many 1,000,000 and billions of messages are going through, I'm trying to trick my my son into learning how to code. He's 6.
Scott Tolinski
what's different about Angular from,
Scott Tolinski
Do you wanna give maybe a
Wes Bos
Yeah. To make that happen. That's from the folks at Stackblitz. Right. Stackblitz is like you do you guys have beef with the the web components, the lit folks as well? Like, what what's that look like? Do you guys ever pass each other in the hallway and be like, Angular is better. Do we ever start, like, snapping like a gory movie?
Guest 2
You know, I've been telling developers this, like, for the last, like, month and a half about what you can do in the browser theme and font are you using? Oh, good question. And you have some great questions. I love this podcast.
Wes Bos
Like Node. Js in the browser, and that's what web containers allows you to do. So I guess, like, the whole build step
Scott Tolinski
let's say, React, Vue, Svelte, like, what makes Angular special?
Guest 2
and the fact that you can run, like, a development environment in the browser, the fact you can run something like Adobe Photoshop in the browser. Like, that's mind blowing to me. Yeah. Absolutely.
Guest 2
just like from when I started. Like, I I got out of grad school
Scott Tolinski
For those out there who who may have never used Angular, maybe perhaps you've used Angular in the past, maybe you've been in React world or any of that stuff,
Scott Tolinski
Okay. So
Wes says no need to rush to latest trends
Wes Bos
trend that exists. Right? There's Probably more harm in in being too early to a lot of this stuff because Yeah. Either will go away or it will have major changes, which will cause you a little bit of grease. There's no harm in being a little late. May I use that with some of the people who are in for? Oh, yeah. In fact, that is fantastic.
Guest 2
technology radars.
Guest 2
Right? Like, you gotta know that that's that's what it is. Because those people who talk about how bad this framework is or how great this framework is, Honestly, at work they're not even using that stuff probably. Right? Like, they're not using the latest and greatest. They're using whatever has been vetted by their engineering teams and their engineering manager and the security professionals at work. So, like, let's be for real. Right? And so until somebody clicks on low comments.
Guest 2
No. Seriously, that is fantastic because I get that question
Wes Bos
when you hear us talk about it for the 7th time,
Wes Bos
Frameworks and languages
Guest 2
for because I do, some mentoring with people. And a lot of times with junior developers, they're like, well, I don't know what to do. I'm like, well, first, listen to me. That's the first time you listen to me. And the second thing is, you know, like, learn how to spot trends. Right? And and learn how to spot what's, like, A shift versus a trend. When you do that, you know, you'll be fine. But you you know what? You'll never go wrong is the fundamentals.
Guest 2
that that gives me a big wide view of what folks are doing jquery, moo tools, like, all those things. And then that first, like,
Guest 2
And where enterprise is going.
Wes Bos
I've never seen this before. So Thoughtworks has a radar.
Wes Bos
you gotta go you gotta go do a little fiddle or something like that and and build something with it.
Guest 2
You'll never go wrong. And I keep telling people that just stick with fundamentals. You'll never go wrong. Yeah. We always tell people, something you scan, but we're working on this idea of headless. Like, we're we're looking into that. Right? What does the headless component future look like,
Guest 2
Yeah. And I would say one other thing that's That's underrated, but I think valuable. I got this from my enterprise time working at places like American Express,
Guest 2
when I look at the Radars from places like RedMonk or Thoughtworks,
Mark explains Angular requires TypeScript
Wes Bos
The types that are being used, or is it the like, I know their Angular heavily uses,
Wes Bos
sorry. Not directive. Decorators. Yes. Yeah. Decorators. For templates and CSS and imports
Guest 2
Angular was like, yeah. We think this is a good idea, and we're gonna support it, and we used it. And so Angular is built with TypeScript, so you actually cannot write a JavaScript version of Angular. You gotta use TypeScript. Oh, so, like, you you can't even write, like, an a JS file And which went on to, like, go into Vue, for example. Right? And so
Guest 2
because of TypeScript
Wes Bos
directives on their classes to say, Alright. This is my this is my
Guest 2
Right? Like, it's not the,
Scott Tolinski
code that popped up. That was interesting that they picked it up so heavily. And it was controversial too when it first came out. People were wondering why, but, like, here we are.
Wes Bos
with for your components. It's it's hard. Oh, and what
Wes Bos
At the end of the day, it's it's compiled to JavaScript. Right? Is there a specific of Angular apps that Google has Angular
Guest 2
Standard decorator that just got passed, like, through t c 39. Right? This is before that, and it has some features that that do with our dependency injection where you can decorate A constructor with parameters. Right? Like, there are things like that that we leverage Right? But then that also meant that you as a developer could extend them and you could do fancy stuff with them. So we were thinking, like, ex extensibility
Wes Bos
What's the limitation there that you have to use TypeScript? Well, because the whole framework is written in TypeScript. Yeah. But, like like, to every search result, you know, And the the job's right. Right? Spin the entire page when you Google do a barrel roll. I'm most curious, like, what I don't even know if you know, but, Like, is is that wiz? browser from Microsoft.
Wes Bos
that using JavaScript just isn't the right fit for us. Okay. Awesome. Yeah. I remember that, like, very early on searching for anything on TypeScript,
Scott asks about meta-framework and SSR story for Angular
Guest 2
Right? So now we've done this work around,
Guest 2
But we don't go as far as something like Next. Js.
Guest 2
on the server, ship it to the client, then just add in, like, your event handlers. Right? And get lots of improvement.
Guest 2
Right? So this idea that you could prerender to enable that level of, position of knowing that, yeah, if we release this, Like, this is this went through, The server side meta framework story is interesting because we've just made a lot of changes. So before, Angular didn't even support, like, hydration.
Guest 2
full hydration. So now you have full hydration in Angular. So that gives you half of that, like, meta framework story, We do This thing where we would give you that prerender,
Scott Tolinski
way to load data, do server side rendering. Is is that type of thing Baked into Angular, or is there
Guest 2
Good question. I love this question.
Scott Tolinski
a meta framework for Angular?