Embracing Angular's Evolution with Santosh Yadav - JSJ 631 - podcast episode cover

Embracing Angular's Evolution with Santosh Yadav - JSJ 631

May 07, 20241 hr
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

Santosh Yadav is a Google Developer Expert for Angular. They dive into the world of JavaScript and development. The discussion centers around the topic of why Angular is considered the best framework, with insights from Santosh, Steve Edwards, and Charles Max Wood. They explore the history and evolution of Angular, its resurgence, and the recent improvements post-Angular 14. They also delve into Angular's migration process, state management options, and the future direction of the framework. Join them as they explore the technical aspects and practical implications of Angular in the development landscape. So, tune in and explore the world of Angular through the eyes of experienced developers.
Sponsors

Socials

Picks


Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

Transcript

Hey everybody, Welcome back to another episode of JavaScript Jabber. This week, on our panel, we have Steve Edwards to borrow from a j Yo yo Yo, coming after coming at you from a cloudy and cool Portland after having been in Arizona, sonny and warm last week. Right, I'm Charles Maxwood from Top Endez. Yeah, it was rainy last week here, but looks like it's going to be a nice day today. So we have a special guest this week. We have Santosh. I don't know if we have your

last name anywhere where I can see it. You gonna introduce yourself and let people know who you are and why we're excited to have you here. My name is and I live in Germany, so I live near Hamburg. I keep killing people that I live in Hamburg, but it's it's a life because that's the net. So people in Hamburg so and I put it on. So I'm seen as of the engineer that's too honest. And I'm involved in

mertical communities, so I'm developer expert for Angula. I'm also a get up Star and I'm also part of an X Champions program which is a program MANX. And I'm also co founded for a community so we learn. We run a committee called This is Learning and This is Tech Talks the podcasts, which we do generally. Uh, we have been doing it for a year now and that's what that's what I do. And you might have seen me from

the active and I'm just so much active there, very cool. Well, the topic I have in front of us, and this might be a little provocative for some people, is why why Angular is the best framework for you? And uh, yeah, I think just to get us started. It seems like React as kind of the one that far and away people are adopting,

and so are you. I guess what I'm asking is are you putting forward that that's a mistake or just not as good a decision as you could make if you go for Angular. And I'm just here to share my point of view bi Angular as best pay Yeah, I mean generally it's like uppe that you you to decide what what is best for you by Okay, So

why should people use Angular then? Because I know Steve does view. Just to give a little background, and I've done I've kind of played with them all and I've mostly settled on Stimulus, which isn't a surprise if you're into Ruby on rails. So yeah, you might get a little pushback here or

there because neither of us use Angular on a regular basis. For what it's worth all throwing this caveat that I did start out with Angular, but it's what is now Angular JSS, Angular one, whatever you want to call the the first version. So I never I switched twitched over Review at the time that it was rewritten into Angular too, you know, and on for various

reasons you know that we can discuss. But so I wasn't. That was my Angler was my my initial step into JavaScript coding on the front end most people because it was one of the earliest framework, right, I mean it came even before Yeah, so most of the people were doing Angler jays and then Angler two came in, which is the current Angler which we are to talk about. Angler jas is now end of the least end of light, so it's not even supported by Angler officially, but I think there are few

companies who were supporting long term support. But that's another thing. So it's like started around Angler two when people started moving away from Angler jas to the frameworks. I mean that was I would say, yeah, that was very hard time even for the framework because there are multiple things. Right, when Angler two came, Anger team said they are going to rewrite it in typescript,

and not many people were fan of typescript. So if you if you all remember, like Typetrip, Angler was the first tramwork to actually bet on typescript. They said, yeah, they will rewrite everything in typescript. And then Microsoft cattal like good, good packing. They even like wrote a blog post three years ago that Google team, our Angler team was a big support behind the success because no one was trying to adopt it, but they did.

They're oute of big enterprise framework using type script and it's it's been used now by millions of developers. So that was the early start. And of course there was no path. I mean the another issue was Angler JAS to Angler two. Okay, there was there was no migration path. So everyone's scared, like what happens tomorrow, right, I mean if once like Angler jas is officially dead, how we will able we will be able to migrate

to Angler or the new version? There was no clear But of course now there is a there's a guy, there's a great like anglers who angled it up and it's available now, but that was the time. Actually there was some bad decisions, I would say, which which costed like big panic in the community, even the people who were using Yeah, I remember we were talking to So I was one of the people that started and hosted for a

long time the Adventures in Angular podcast. That was your first podcast I ever started listening to check with Adventures and Angler, Okay, yeah, and so we were talking to Mishkoh and a bunch of the other people that were involved in a lot of that. Yeah, there was a lot of anxiety at the time over you know, where Angler was going to end up. And

yeah, they made the cutover to type script. Initially, they were trying to come up with their own uh script that you know, transpiled to JavaScript that was similar to typescript, and I guess they got what they wanted from the typeescripts team and made that transition. But yeah, so at this point, yeah, Angler is much more modern. It has a lot of other things going for it. But yeah, anyway, it was just an interesting time to be involved in that. So that was it was like the same

time I started like two Gangla Jays around winning fifteen. I mean I was laid into the ecosystem of course, and then twenty seventeen at the Angler four game, that's when I when I picked it up. So of because I was lucky not to get into Angler two. I know a lot of people were actually frustrated with every like breaking changes with a u RC and everything. I just keep hearing the study and then it makes it like, oh and I decided not to jump in trite into it, like when Anglo two was

going on. So what is it about Angler that you think makes it a great choice? Yeah, I mean there are so many things, right, I mean, first, of course, the current state of Angler. So if you see, like of course, there was a time when people thought, okay, Angler is going to be dead. Angler is not going moving forward, like there are no new features, even like they're not I mean

even they are not listening to the to the community. I mean, if you if you go to the open issues, they were like like two top most voted issues which were still open for after four years, and everyone was frustrated when the even the community was like bait of fun ansious again that what's

what's going to happen? And then came Hangler fourteen. So Angler fourteen as were all all this new features or the team actually started pushing so many new things, and I think they they we keep hearing about Angler renaissance, right, and that's what happened. So after Angler fourteen, Angler started moving into different directions. They started listening to the community. So most of the top vote features are actually fixed now, I mean they're they're already being used by

people. And uh, I would say, uh, the kind of shift which Angler has taken. For example, Angler modules, Like there was a there was a time that we everyone who was actually teaching Angler or learning Angler they had to actually word and learn about Angler modules like what what are modules? And now with that, after Angler fourteen, team decided to actually remove

it, like they said, okay, let's make it optional. So they started removing the headaches or I would say the most important Uh, not most important, but I would say most complicated things like which which you need to understand before jumping into Angler. They started removing those blocks. For example, they made Angler models option. Okay, they started making uh, some changes to talk to more functional program For example, not everyone is more comfortable writing

classes in type script. So for example, guards Angler guards, they used to be all classes. Now they are functions which enabled like there are a few changes or there isn't there are new functions which enabled most some of the library offers to actually adopt functional approach. One of the librares I think maxim meno is jeris, which is for state management. So they started, Yeah, so they started moving most of the code to functional approach to make it

like more pre more more easy to write. So apart from that, of course, now let's talk about SSR. There was like a long period of time where Angler's team said, okay, they are not going to do SSR, right, I mean, they're not going to support SSR. And then community came and wrote Angular Universal. Yeah, so Anglo Universal was something which was driving SSSR for a longer rift. And now Anglar team has actually adopted

that Angler USL as part of the Angler package itself itself. It's called Angular s are now and the team is focusing more on SSR, so they're trying to give better experience when you're using SSR, so partial iteration is there. And now they are trying to merch Angler with another framework called wiz, which

was actually an internal framework within Google. So it's like this is just announced at Chicon this year that they're going to do it to make SSR more better met Angular so they have partial iteration, and of course there will be like

more pandular label change fiction which is also coming with a Angular. So those are the things which makes I would say Angler as best framework for you right now because they are actually adopting new features making learning framework more more more more easy to you, Like they are moving all the complicated things more complicated concepts. Yeah, we can talk about more. Yeah, it's it's funny because you're talking about a lot of these things. I mean, I remember when

n GR came out, Remember when Angular Universal came out. You know, we're talking to you know, the guys behind all that work. And yeah, it seems like a lot of these things though anymore just kind of on par with what people expect from a modern framework, right. I mean View has a lot of these same kinds of options, don't they, Steve and few X and View. I don't know how you do SSR with View, but yeah, well there's next. I mean you have a you know,

like next or next. I believe Angeler has a meta framework quote unquote don't they analog now? So I think Spelly has been. I don't know. I haven't heard from anything from the True brand it's been working on Analog has any Yeah, so Analog is the meta framebook. Which so let me ask you one question. You know one of the like I said, apologize, I haven't really worked in Angular two x on one of the features that View has that I consistently hear from people who have moved to View from Angular react

or. You know, your framework of choice is the single file templates component functionality in that you know, basically you have your template function same with you two or View three or's just straight HTML, right, You're not having to put backticks around thing to make sure your quotes are you know, just right so it can interpret it. It's just very easy to read. And then you plug in any of your attributes and your directives and classes and stuff as

regular HTML, which makes it easier for a designer to work with. Now I'm reading the Angular docs and I don't see that capability. I might be missing it because I haven't been studying. So how does Angular make the templating portion easy? So if a single component is something which is not heavily an angle of it, so Angler's generally whenever you start a new project us in CLN, so you have to put strap and component. So you put strap

and root component and then bin root component. You can render anything and temperate is nothing, but you can actually there are two options. So you can create an estimate file and you can provide it to the component class that okay, this is the temperate and where you will have all the estimate files. Or you can just write it between the deepestrict file itself, so you have something called template as a string, so you can just say back takes and

then you can start writing your estimal. So it's it's different from others like for example React as ASIX of course who has dot move file which is where you can write all the things. But Angle it is like plain STML, so you can just write estimate file and start writing your stment up with the help of some of the template functionality which is provided by Angle. If you

need SEFC, if you need sec you should give it. Try to analog because they are trying to fill in this gap, so they're go adop like all this features, which is widely asked for but by by the by the divelopers who are coming from background of food, right, so they are like thinking about to the secs. So yes, it's availability a handle just I think you can go and write out with the current rings. Now with those

templates, are you also have a CSS handle? Is that something that's in a separate file that you would import into your component then, or is that something that you can do like a style bark or something like that inside of your component. Both the options are available if you want. You can do it in line with style styles property, so you can just say okats the stiles and then you can write your in line spies. Or if you want a cess file to be a separate file, you can define it as a

string same as your st piles. Right, so you can create as a CS file or stats file what I when you're using ale supports everything, so you can just define create that file and just give a path so it will just work. But it's a second file outside of your component. Is that right? You can do both. I mean when you can do like within your types too file, you can say stye and then you can start writing in a string, but it's a string with backticks around it type of exactly.

Yeah, okay, can the CSS be scoped to a particular component or is it always necessarily global? So good thing about Angler's FIFA. So whenever you create a new component like scoped to the current component. So whenever you like create a new new anglerpiplication and you run it and you try to inspect any component and you see the stie so that you will find something called energy content uppended with this. So it makes sure that yours, like stye sets,

are not leaking globally. You can also make it devlople globally. It's up so it's like it's it's it gives you control to you bite fall. It's a was wrapped inside the component so it doesn't lead. But if you want to, you can just make it available everywhere. That's possible, basically overwriting global school. Now, how does Angular handle or what are the options for state management? Is that something that's built in that comes by default?

You know View has view actually actually with View three IT'SPNA. Now is the default state management tool for View three? Uh? Is there are like multiple options for options you want to use? Or is there a default that's built into Angular or at least maybe one that's recommended. How does that work? Question? Because this necessary we can really talk about signals like signals and everywhere

now. So Angler adopted signals to versions pack so Angly sixteen they make it make it as an experimental so you know the signals, the whole signals idea that camelong back, but like more people started not adopting it after solid Chase came up with the solution. Right, and now signals are adopted by a woof. It's adopted by Swelt and Angler Oswald, so one of the framework

which adopted signals, so to make the state management easier. Right, So earlier we had multiple options, so we had RHAS which was where you can actually write your own so if you want to write create your own store, you can do it using RHAS. Then people, more people from the community, they created their own solution as I was taken to DUHS and GIS like was one of the early library which is widely used, so it's like one of one out of six application in production users. NGX. Then we have

NJXS, which also is pretty good state management framework. And I think there are a few more like which are mean I haven't used any any other, but there are a few more which exists. But it comes I wanted to make the state management thing easier because why you should always reach out to managemental ability, maybe sometimes you don't need it, and that's why they introduce signals now. So if you want to make your state management easier, now you

can actually start adopting signals as well. And signals can live anywhere like it can be it's it can just leave outside your file lege. So for example, Steve Husa that you are coming from who you are already familiar with Pinion which users signals actually in kind of signals? I mean, I don't know is it still using proxy or it uses signals. But a good thing out

of this all new implementation which channel it did? Signals are going to be part of JavaScript now, so it's it's actually being implemented as part of Java's specification. So now all frameworks have like most of the frameworks have agreed that they need signals because they are using it. So Ryan Carnea from solid Chas he has been what he was the main person behind driving all this and soon like it will be available in your browser. So that's that's the future.

I think I think everyone will be using signals interest everyone. That's a pretty it's a pretty big state because because it's part of specification, right, that's what. Because it's available in new browser now, So even though it's avaliable to everyone, and I think most primworks are already using it apart from react

and until unless they come with some come up with some solution. But I think, uh, yeah, all the frameworks are actually already on signals or give it, give it intake because if you say the act not to react, but PDIAC already uses signals as but so all the cool kids are using

signals. Huh is that it exactly? Yeah, I've heard about it, and I know my buddy Eric Hanschad uh did a video with signals in view and uh, I'm not a big, you know, under the hood guy normally, but from reading about it, it's it's pretty simmar of the proxies. If I'm understanding correctly, there the reuses for me for handling reactivity because

you mentioned r x JAS and you know, Chuck. To be honest, I always have flashbacks of some of the other podcasters Ward and John where they were talking about r x JAS and they dived right in without explaining what observables were. And it took me a while to get my head around it. But are you basically saying that observables is state management, because when I asked about state management, you brought up r X. JAS was the solution for

a long long time. So because I'm had first class support for our XS, so every everything was observable. For example, if I'm working with the rounter, I mean, so every event is nothing but an observable. If I'm working with that's THEDP, so it's nothing but an observable. So it was like they had like first class support from Davon and that's why the women started like building the solution around XS. So if you see nng X, which which I mentioned, it was nothing but like HGS plus that's and it

was just around it. But now as we have signals, so NJ also came up with a new left city called JAIC signals, which is nothing but state management using signals. So to the end developer, then, is the use of signals versus observables? Is it pretty transparent or is it a change that you have to make in your in your front end code to and how

you work with them. Actually, that's it's a very good question because right now community is very h I mean there are things which are to be very complicated, for example, but I just had a pretty good use case, right, so very bad. You have events like where you want steam of data, you should go with that exagist but most of the time you don't need it. Right on why you need a continuous stream of data in your

front And of course there are use cases but not always. And that's where actually people wanted some easy solution, right, and the signals fills that gap. But now you have to move, like you have to change your mindset from using rx as to signals. That's complicated because a lot of developers are still confused, like where should your data fitching go? Right? I mean you have to at least you have to face the data at some point.

It's time, right, And that's where things are like I think this is something which will which will be easy or not easy, but it will be easy to understand for the developers. After some people or most of the enterprises like enterprises start adopting signals, and they come up with the use cases where

they needed signals and where they don't need it signals. Right now, it's like most of the team members from Angler team and the g d community and some of the people who have already worked on signals, they're trying to teach people that how we use signals. But it's it's it's good to The adoption part is going to take some time here. As you said, yes, there are people like even I was confused, like why and where to use

what? But I think after reading some of the blogs, after eating some of the like after watching some of the videos around signals, it is becoming easier or like easy to understand what where should I where should I use signals, and where I should use r XS. It's not like RXS is going to go away. You know, as of today, like one percent of the code based uses r excs. So just think about it, like removing

the RXS totally. Its it's not possible almost right, So people have to think about like this is where I really like angler that you don't have to adopt like new feature fully, you don't have to replace your entire code base, even for signals. It's like you can start writing your new code with signals and you can keep your existing code as it is and it will still

work. And then if you want GODOC, you can do incremental migration for your existing code base, right, So that's that's a very good thing about so you don't have like devilots don't have to be like development like when they are adopting new features that okay, should I read everything micropical signals and then

use it exist? But that's not deep. So if you'll make your life a little pretty easier if you are working on enterprise and you already have exists everywhere ipel this question, yeah, I mean my understanding, you know, I've never directly used observables myself with the observable pattern, but my understanding from having listened to podcasts or you know, read about it, is that you really have to adjust your code to using observables. It's not like just plug

and play, right. You really got to write your code in a different structure to use an observable versus not using it, you know, for lack of a better term. So it would seem that moving from observables to signals would not be a minor undertaking. It won't be sure, I mean,

if you're using enngetics, I mean most people do. As a setlic one in six STAPs in actually nine uses sign x. So NNGX has some new functions which are available where you can if you're if you're savings observables, you can just convert them to signals so they have new functions available with the new releases, so it will make it can make your life or migration a little

bit easier. But if you have code base with our egas, I would suggest don't go there, like at the start, if you're if you want to adopt signals, start adopting with new code which you will write and then eventually once you have time, which which is hard, right, I mean, this is hard because you have to show the value to your product more to your company. That why we are migrating to signals. So just hold on there and once you get time and money and energy, then go ahead

and start adopting signals. A good thing about Angle, as I said, like they always take care of developers as well. They focus more on developer experience, so they have been trying to provide new fund which can make your migations much smoother. For example, in Angler WHENEFA, you have to do input and output right, so you have input decorator and output decorator. But now you have input and output as available as signals. So they are just

function which gives you signals. Now, so of course once you are once you think that, okay, these are places where I don't need and probably a stream hos like just signals would be sufficient, you can just start replacing them with the new function and they're also uh. A new Anglo jay angle slash are exist in the rock linely which is created especially for interoperability between signals and directions because it's not possible to just rewrite entire code right to make that

magnition smooth. They also have given some functions which are available as part of

the frame of itself. I also yeah, having having played with both, I found that and I can't art what the difference is per se, but it feels like in some instances the way that observables work and the way that you know you you kind of put a stream of data through it and you know it updates or transforms, you know, depending on what you need, versus the way that signals work, you know, where effectively you update a value and then anything that subscribed to it gets the you know, gets the

result. Some some data and some youI seem to lend themselves better to one or the other, and so I also see that. I think anybody who's thinking I'm just going to migrate all of my observables to signals, you may be making things harder in some cases. You're definitely going to make things easier in other cases. But you know, I think there's going to be some version of kind of getting a good feel for where signals shine and where you

may just want to keep doing things the way you're doing them. By the mist thing, just to mention you said you never worked with observables, observables are actually going to be part of jobs specification as well. They're already available, so they're going there there behind the future flat but it's soundready available. So it will make probably uh yeah, it will probably increase the adoption maybe for observables. And it will also make one thing really good, which is

the rg IS library. Right, So rges can just remove observables and just can be a place where you just you just have operators. So it will be like win win for the committee as well as the RIGS has been driving this library for a long long time. Yeah, we've had Ben on the show before to talk about RGS. Now, one of the things I wanted to go back to one thing you'd mentioned earlier was regarding data fetching between observables

and signals not being moved. I know, you know, working in a huge view front end enterprise application, you know vieux is where we do a lot of our data fetching in order to keep the back end in the front end and synk. What are the issues with the data fetching that you mentioned earlier, whether it's a change or whether it's an issue or all. And

it was just off hand and I wanted to clarify that. And if you see, like data fetching is always a simpfulness, right, but signal signals have simpleness, So that's where you have to really like understand what you should

be using there. And now it's just was a very good use because you can just say, okay, it's an observable because it's a stream of data, and then you can just wrap it inside on observable and then the stream which is coming from your back end, but in signals as it's in a symchronous synchronous it's if you try to directly take the data like in Angler, we use something as a static client service. So if you try to just trap or take the data from a STIC client and sign it to a signals.

It will fail. It will fail because it's it's the a simplest function, which is restunning an object to a syndronus think, so it won't be able to get the data. So that was where of course when I tried it, I was really confused what should I do here? And luckily I was actually experimenting with NNGRX, so NJX can fill that gap for me. I don't have to focus too much on that, and I just use the existing NGRX functionality and just use a new function which they have evens. So

it's called two signals celic signals. So there is a function called select signal so which can wrap up or give your stream and convert it to a signal without doing anything. I mean, you don't have to do much. You just have to replace your functions which was earlier observable and just called to select signal. That's a that'stant. So that's one thing where like a lot of people, a lot of new developers who will start atopting signals will probably struggle.

So okay, let me make sure you stand this. Because the issue is a synchronous is the way to do the data fetching at least you know what I'm used to, because you can load your page and not have to wait for synchronous function So are you saying that the n g r X wrapper around signals gives you the capability to a synchronous data stetching there there's some yeah,

good, Yeah, that's my question. Yeah, yeah, songs something called Jeric effects, which is which is made, which is made, which was made for actually all this simpleness events or any any functionality which which has effects, right, which causes an effect. So it was there from table and they made it like more better, like two or to support signals. So they just get it this new SELP signal functionality, so you can just easily as I said, like people who are using ng ng x, they

will have like a very not much complicated time getting to signals. Fact, people who are just using plain at exists. Of course, the internal celebrity which I mentioned amiability and angulal is that David still which offers the functionality to convert signals to observable and observable to signal. Even I think enetics is using that internity, but you still have to write some code. So from a market standpoint, I'm not sure if this is something you're aware of. Where

do you see Angler being used? Ranging from the small one off, you know, hobby project up to enterprise applications. My perception, just from various data points that I've seen around the web is that it tends to be more of an enterprise application tool as compared to a smaller hobbyist, you know, one off type of thing. For instance, Uh, my fire department uses an application and that we use for tracking all over incidents and medical calls.

And it's very large, and it's you know, it's it's a company that you know that provides instances for different departments and it's based on on Angler. Excuse an angler? You can tell by looking in the a lot of n G stuff. What's your perception of where this tool is used in that spectrum?

When you say Angler is used in enterprises, yes it is. And that's that this is where actually team wants to change the perspective perspectly now right because for a longer pit of time, I mean, people were thinking about like the act as next who has nuxt so to do all the s? And it makes like very easy to play U a bit like new new frame books. But when it comes to Angler, I mean that it was there was no clear clear way, right, I mean there will looks so many

things which you have to learn. For example, Alex, yes, you have to learn about just you have to learn about change section. And now actually Angler is trying to move up there, and the whole idea was although the whole idea is actually to get more adoption to the new developers as well. That's the idea. So new dimples can come easily and start playing around with tanglags, right, rather than focusing more on concepts betaric shares or officer

pupils for what you call and even modules. So now I think more people have started talking about Angler because it's becoming more easy for new developers. I would not say z of course, there's nothing called nothing in easy, nothing easy in actually programming. That's that's just a buzzword. But I would say as like Anglo prows or the new feature comes in and it uh the less number of concepts which you have to learn about, it will it will grow

in the adoption as well. And with introducing signals, which is being adopted by many frameworks already saying there are frameworks work who are using it. I think it will only go in the right direction and more people are more early early stage companies will also adopt Angler, especially now the buzz around Angler plus base, which which will make it a better framework. I think one of the best, I would say when it comes to a scile, because this

has been already being tested heavily within within Google. They have been using it for a long long time. Even Google Search is driven by wiz and once that functionality comes to Angler, I think there is no other framework which stands a chance. I would say, as as as I said, like I like, I like hort text, and everyone loves that hot text. Right, So this is my outtake that everyone will be doing Angler if they think about s as a well, Okay, I'll dispute that just based on my

knowledge of other frameworks. I'm just curious by way of a little background and apologies if I miss this earlier. Uh, what experience in working with View or React or Spelt or some of the other frameworks as compared to Angular. I think I started with Angler jas early, as I said, and then as I started learning the act, and then as soon as I started writing Jas. I said like, okay, this is not the framework I want to learn, and then who felt like very similar to Anglo jas. So

I did something. But once I wrote typescript, right, So, as I said, in twenty seventy, no one was doing type scrip and I started writing Angle because of typescript. It's sort of it was not like I liked Angler and I started doing typescript because I was adopinated. So I came from a dotinate background all the type language, and I really like typescript. So I was like, okay, this is the line, this is the frame book. We supports typescript, so I'm going to just do this.

Of course I learned who I mean when it was WODO. I think I did a little bit of WOO three as well as FCS and all those things. But yeah, never worked on it. Mostly my work has been around Angler JAS and most of them. Now I do an ex toroths. But so, what are the things coming out next in Angular that you're excited about or that people should know about. Of course, one thing which was as like there are a few concepts which is hard to learn about, right,

and one of them was changed section. So if you if you remember like Charles, like early Anglo Jas had ala JS one had one issue, right, which was of course change sections, so it has it used to like to all these checks ten times for nobodies, right, and then ang the t T two came and team said, okay, we'll try to avoid all this loops which used to run but in still there was something known as the inspection and it used to like run in more more faster way than the anglage.

But there was something called Enchi zone, so we had we still have that of course, so en she zone was actually responsible for catching all these simpleness defense and then re rendering everything, right, I mean it's it's not basically rerendering, it's just yeah, creating the proxy not proxy, but it's actually rewriting what has been changed. And this was a big problem when it comes to enterprises because as Steve also mentioned, like there is saying that Angler

is already like always being preferred for enterprise application. True, but when your application grows a lot and this change section like runs most time most of the times, your application becomes slow. So Angler also wanted to tackle this for a very long long time, and there were like multiple discussions around it. How to do it how to remove soon. And finally, signals scheme. As I said, like signals is a big change because it is also going

to change the way change section works in Angler. So now the change section can be granular. What I mean by granular is a component can have its own change section, so you don't have to like run change section on entire application. I can say, okay, if there is a component down the tree somewhere, and it can have just its own state using signals. So

now Signal is going to maintain that for us. And with handler eighteen that is already shipped, So now you can have change section without ang zone and at a granular level, it's not like going to impact your entire application. This is very important for me as well, because of course I work in enterprise, have a very large application, and sometimes this causes an issue, right performance portal nets and then you have to cure show white screens to your

end users. And no one likes white white screens, right I mean, of course as a user, if I'm using it, I will hate it. Uh, and uh that's that's going to be an amazing thing. But apart from this, like there are a few features I will name and for example standardone components so no motives, models are optional and standard APIs for UH for example, like for st TP we had stor to de client. For router we had rou router modules. So all these are actually becoming nothing but

functions. So they are like just a function which you can register and then use it signals of course, and then you have, of course with all these signals and RXS thing, you also have the top functions, so it will make your mication smooth and then Granule level change diction. But the first thing about Angle which I like is angy update. So if you have worked in Angler for some time, you know, uh, there's one thing which Angler team does. They never ship a breaking change. What I mean by

they never ship breaking change. Of course there are breaking changes which happens, but Angule team always ships the mignation. So for example, if they're introducing a breaking change, they will also ship a migration script to you which you can run and migrate your entire courts. And this is something which is tested like on the enterprise application. It's not something which is tested on your demo

apps. So it's always it always works. Most of the the propers out there who have been using amulal they know that Angler is easy to migrate because

of this micration functionality which is provided out of the box. So you as then like if you put enterprises what they care about, like, of course they want to make sure that the framework they are using is up to date because there are fund there are companies which cannot tolerate vulnerabilities, and if your packages are old, of course they will have vulerabilities right at some point of the time. And then it helps you in that as well because they're offering

this automatic migration. And this automatic migration is not only for enterprise applications. There are like millions of developers who are building libraries who are shipping packages for Anguler. It also works for them. So for example, if I'm maintaining a library, I can just run inng migrate as engy update and then I can migrate my library to the next version and ship a new build to like how how many numbers of users I have? And that's an amazing thing because

this is something which not many frameworks offer in case they're moving ahead. So Angular team is making sure that they're moving ahead, but they're also making sure the developers who have been using your frameworks. They're also able to move ahead without like going into trouble with this, like the migration is fooled. But the funny problem with migation is you may get struck because not of Angler framework,

but the third party libraries. It's always like that, right, I mean, if you use who or React, it's always not React or who, but it's third party libraries which you use, which causes issues some time. And the same applies for Anglers. So you have to make sure that you have less number of third party dependencies as much as you can. Of course there are things which you cannot avoid, but try to trust on the libraries which are already which are often updated, right because as I said,

like the migration path is very easy. You can just do and G update and then you are migrated with an expression, which is very good. And another thing is backward compatibility. So as I said, like, of course we are going towards signals, we are going towards stand alone components, we

are going up towards stand alone APIs. But you can still go ahead and write a code like with your existing code base and start adopting these new features, which which is really cool about analytic because you can just leave your old code best as it is, so you don't have to like rush into migration

to adopt this new feature, and then you can throw this parallet. So start writing your like new code with signals or stand alone component or with standardone APIs, and then start slowly, slowly migrating your previous code, which is which most of the developers needs, right. I mean they don't want to actually rush and adopt new new features because just they cannot do without them.

For example, if you have to just strike adopt signal into my whole code base first before adopting signals, it will make my life is life harder. Even so, those are few amazing things which happening in it very cool, Steve, Did you have any other questions? I guess I'm just curious about

this migration tool because I'm thinking what exactly does this target? Because I mean, you could have the same code written fifty different ways and fifty different applications, and trying to have a one size fits all tool that's autogmatically going to

migrate code seems like you know, a whole different framework within itself. So I'm just curious as to what exactly does this this migration tool that you're talking about updates to just look for certain certain code snippets that you know might be of an updated feature and try to convert it for you. Or because I could just imagine something that you were written and then breaking things, you know,

somewhere down the line. Obviously you'd have like tests and you know, maybe type to catch certain things, but that's not going to catch everything. So what exactly does this migration to do for you? So as you said, like people can write the code into fifty different pasts, that's not true for Anglers. So Angler has like very good structure to write the coorte from

day one. So if you follow those structure, for example, if you have a component class and then you follow the patterns which are actually provident Banglar, there are not fifty different ways to do this in Angler code based basically, and that's why actually Angler it also makes the life easier for Angler team because they know that okay, this is the code which we have to migrate.

For example, as I said, standardone component, right, so there is a migration which can convert your old cote which has Angler modules to stand alone. Because we know that everyone was using Model then there is no other way to do this. And that's where your your migrations can just run and say, okay, this is the component we need to convert to stand alone.

A bit another thing, so if you if if you are coming from WU right, so you have something called who for or something we we four or we if right, so those are direct and yeah, so we also had directives, so of course we have chief and four. And now anger

is actually has has adopted something called control flow syntax. So control flow syntax is something which says at the retief uh and then at the red four and then you can just write it without without need for any extra apple which is uh, which is I think adopted from swelled if I'm not wrong, so it has something similar. And then to migrate, we know that okay, there is something called n g if and four which already exists anral migration.

What it does is it removes and four n g if with the new control for syntax behind. And if I talk about like there is a new magazine coming from STTP client module, so everyone uses a STIPI client module, there is not that way, so they know like okay, we have to just plow a stipre client module with a new new fund Chinese often so this this makes the life vizier for many of the tub represents because if I change a job, I know that this was going to be detained in the same way

as it was in my bigbas shop. So that makes life zil for the frement, even including the library of Autus, because they know that this is the believer that like in which my librity will be used. So in other words, the fact that that Angler is very highly opinionated in structure is what makes it easier to migration. That makes sense. I mean, I've seen

maybe you can speak to this a little bit. The hierarchy of opinionation factors amongst the different frameworks seems to range from React, which is very unopinionated, and there's you know, a bazillion different tools whether it's routing or state or whatever you know, up to view, up to angular and then maybe even Ember, if I've understood, can be you know, more opinionated, and

then Angler I've heard that before. Does that sound fairly accurate? Angler is openated for sure, So it says from the table, and I think because if you see like Angler has there's no other people do routing, right, I mean, of course there was in Anglo gsts and now there's just Angler Outer. So Angler provides out even for forms. Angler provide forms even as a state lak. For data fitching, Angler has something but a cityp already, so no one else, no one is doing actually data pitching using other

libraries apart from esterty. So that ends, as I said, as as you also mentioned, so that those are the things which are pretty cool about. Sorry, what is the name of the library that does the data fetching you just mentioned? Angler slash, common slash, storty. Okay, So is that its own thing from the ground up, as compared to maybe like a wrapper or around axios or something like that. It's a good question because Angler had xmlesty pretris for so they had to develop it based on it.

But now most of the browser supports right, Oh okay, so it's using native vetch. So now it's using against deference, so it's like uh uh, it's so it's it's not by default, you can enable it, so it's it's still like, okay, haying some features. So let's say when you're using a stratipic line, you'll just say use fitch and we'll start using fletch. Okay, that makes sense. The default only made Yeah. I know, for a while view as the view to compare has had view Router,

you know, by default that's maintained by the community. Had vu x, which was maintained by the community, but you weren't required to use them. You had to opt in to use view Router. You had to you know, you had to install it, and you had to configure your app to use it, which means that you can use other ones. Now by default, it's much easier to use the one that's more commonly used and is maintained by the community. But you've always had that option to use other tools.

If that well, if for you know, if for some reason you want to Now, what about the last question I have? I know we're getting short on time here, Chuck. Is one thing I don't see as much is rappers for Angular with other tools. Case in point is inertia JAS, which is one of my favorites and I've talked about quite a bit, which is basically a plug uh glue layer between your front end and your back end makeing incredibly fast, very easy to work with because you don't have to

use your jobscript writer on the front end. You rely on your back end. You can plug it in with note or Ruby or Larabelle or so on, or other tools like Chuck. Maybe you can tell me Fred shot Astro. I don't know if they have an Angular plugin or not, but I don't see plugins for Angular ass you know with third party integration tools like that as much as I do with reacts belt View. Do you see that changing in the future as Angler becomes more easy to use and less more for the

enterprise level or what do you think? I mean, all the cool kids are going to be using singles, signals and Angular as as I get it, Yeah, from what you've been saying. So I'm just curious about that. I found it Astro Angular. Oh they do, okay, deal, Well it's for analog. Yeah, so I would assume it works just with Angular. But no, but that me Tangler. It doesn't talk, so analog jays Analog guys actually plugging to work with Okay. True, Yeah,

I mean this is where the me definite books can fit. The gap step. So now, if like let's say, once Angler becomes less complicated, like the thing is, they have their own what do you say compilers, which makes things a little bit harder for everyone to adopt. But once that compiler becomes easy, I think more people will start adopting it. As of now, like Analog team figured it out like how to do it, so they wrote their entire framework made of framework using Angler plus jays. I think

that's the that's the Yeah. I think on jas is one they have used, if I'm not wrong. Uh, and Next also uses it, right, so they actually took the inspiration from the Next team and just made this made of framework. So I think they're like everybody's working together to get this done. And the belief thing which is stopping most of the people is the way angular compiler works. It's like for a longer period of time, it was one leverb pack, so it was just a putting you back. There

was no other way to do it. Now it's adopting es build. So now it's it actually uses es build and uh, it also uses wheat. But let's say once in future, let's say, let's just think about so once it's it's start supporting bet for the production bill DESM. I think this is where it will become less complicated for the authors who are actually creating made freeworks on top of it. So but it will it will? I think I see a future where it will be possible, but not not right now,

anything else, Steve, before we jump in the picks? Uh no, that's all I got. All right, Well, do you want to start us off with the picks, then yes, we'll start with the uh my picks, which are santos in case who aren't aware of the Dad jokes of the week are the highlight of every episode. I just gotta get a mind up here. I'm so busy talking. H okay, So question, would it let see where to go? Would it kill the maker of avocados to put a different toy inside? I mean I already have like f fifty

wooden balls already. The other night, my son whose younger son, said Dad, there's a monster under my bed? Can I sleep in your room? And I said, look, it's you. He's after Why make him my problem too? I was very sympathetic, as you can tell. And here's a question for you, Chuck or santoge what was more important than the invention of the first telephone the invention of the second telephone? Very good, thank you, thank you. I'm impressed. Check you know, without one

phone, really nobody to talk to. One of the funniest sketches I ever heard is if you remember Andy Rooney, Chuck Andy Rooney, he used to do his little bits at the end of sixty minutes, and he played a bit one time where they supposedly had the answer to the first call to alex endergrind Bell's telephone, and it was I'm sorry, I'm not here to pick up the phone right now, but if we leave a message right the answering

machine is first phone. It was great anyway. Yeah, that's all I got for picks, all right, Well then I'll jump in with picks. Yeah, this last week I've mostly been doing the political stuff and not the board game stuff. So I'm gonna pick two games that I've picked before that I played either with my family or my friends. The first one is and this is what I've been playing with the family. It's called The Crew, and it's a card game and you get basically, you get assignments. There's

a little log book basically that tells you what to do. So it's like you have to get these four cards and you assign them out, you know, to different people, and then yeah, anyway, it's it's really fun board game. Geek rates it waits it at one point ninety five, and basically you just have to be old enough or mature enough, and you're thinking to figure out, Okay, how do I play these cards so that the right person gets the right card. And it's very fun. We really really

like it, and so we're on there. I think there are seventy five stages that you go through. Right in the first bunch, you just breeze through them, like the first ten or fifteen, right, and so then they get progressively harder. So the last one you have a way of communicating, and you couldn't use that the communication option until the third trick. And then there were six cards that had to be taken in. One of them was a sign to be taken first and the other was a sign to be

taken last. And it took us a bit of doing to get it with five people. So yeah, anyway, the crew it's way fun. The other one on Wednesday, me and my buddies got together and we played another round of Risk Legacy, which is also just I grew up playing risk and so I kind of have this nostalgic love of the game Risk Legacy is if you've played any of the legacy games, right, so the last game you played and the game before that, I'll impact the current game. And anyway,

it's been really really fun. I don't think you keep trackle that, so it has ways of doing doing that on the board. Right, So we've played four rounds or five rounds. I think we've played five rounds now. I won the first two and so now everybody's gunning for me to make sure I don't win again. But I think one of my friends just won their either one of them won their first round or somebody just won their second round because I was, I was actually eliminated from the game. They wiped

all of my guys off the board. This time. It has a board game weight on Board Game Geek of two point five to nine. But it's been way fun. And then, like I said, I really love playing Risk, and so yeah, so I'm gonna pick those and then yeah, getting the page up for JavaScript Geniuses. You can find that at javascriptgeniuses dot com. And yeah, I think those are all my picks. Santoche, what are your what are your picks? It can be anything or it could

be anything. Yep, Yeah, Okay, so we are like posting our new next episode actually tomorrow on this is TUK Talks. So the new episode is with the Angler contributors. So in case we are looking forward to contribute to Angler, just go through the episode and uh, next one would be like I'm I'll be there at Waterkin Festival, which is a very big given here in Germany, which can it's like a lot of open source contributors,

open source companies like our early stage companies. It's interesting. Case you're going coming there in New York from Germany, just let you know we can we can meet from it cool And if people want to find you online, where where are you usually at? So my Twitter handle is deep I think it's there's some type of year, but it's you can find me on LinkedIn and both places with the same handle. Awesome. All right, well let's go ahead and wrap it up. Thanks for coming. This was lot of fun.

You can. Thanks so much. All right, till next time, folks max out how heos

Transcript source: Provided by creator in RSS feed: download file
For the best experience, listen in Metacast app for iOS or Android