The best thing I always liked about when I used to work on an angular codebase, was that there wasn't really debates about what library to use, you just use angular.
As someone who is stuck with Angular for a while (and likely for a few more years) I've been super excited. This is really not the channel to learn Angular from but there are other influencers that go over more changes.
Angular is the most intuitive framework/syntax. I have ever worked with. React on the other hand is a nightmare of useContext, useEffect and useState hooks which makes the code extremely hard to read the code.
I started frontend development when Angular was brand new and support for Angular.JS was still a thing. Back then your only major frameworks were Ember, Angular (JS) and React. What can I say? I briefly looked at React and til today never used it. JSX is just awful in so many ways. For me the worst part is that it kinda locks you in (granted vue now supports also JSX). If you stick with Angular, Svelte, Vue or most of the other frameworks meaning you write normal HTML code you can easily switch frameworks if needed
I understand template can be annoying. But everything else is so much simpler than in react. Context is such a pain while injectable is so easy. useEffect is very limited compare to effect() or rxjs's operators. Form state / validation is very hard in react compare to FormModule. And more importantly directive is not a thing in react, you cannot compose component logic... So overall I think, template declaration is a small price to pay to get all of this.
I'm super hyped for Angular 17 and I think they're pointing at some really cool stuff that will get more fleshed out in subsequent versions. Angular 18-20 is gonna be great.
Having a program that expresses that “this happens then this happens then this happens” is imperative programming. Then he says declarative has been working for us as devs. Like, in the most common declarative language, SQL, you’re not gonna express the steps that are taken to get your data. You just tell it what you want and it just does it, it’s “implicit”, meaning the inner mechanics are abstracted away. I feel like these statements are contradictory. Does anyone have a different perspective on it? I hope I’m not misunderstanding him
I came here to say the same thing. I find react to be a lot more imperative than Angular. That said: using FormModule is always a headache when I haven't used angular in a while, so if I ignore the contradictory words I can understand what he means here.
Working with Angular signals is the most comfortable front end dev experience I've had since I started. I still don't like fetching and dealing with external data in Angular, but once it's in the app through a service, it is LOVELY to pass around and compute things with signals.
The example you showcased its pretty simple and intuitive for an angular dev. just because you are not used to the syntax it doesnt mean you can generalize and say "this doesnt work for us 'web developers'". why make this video if you are narrow minded towards angular... even in the first 5s you already look bad for saying that... Also, 04:30 since when are angular docs outdated???? Next time just show the graph that shows its faster than react and friends without biased opinions ty
Nice from you to talk about it knowing you are not the biggest Angular fan. But you clearly went too fast on that one and missed a lot of stuff. The new control flow being probably the biggest miss. The perf screenshot you shown for example is when you use the new for loop provided by the new control flow. That has nothing to do with signals. They were able to improve it vecause they are not using the whole angular overhead from the template system. It's done in a way lower level. They also added a @defer syntax that makes lazily loading parts of components very easy. That part especially will reduce a ton of boilerplate. You also missed the implementation of esbuild / vite which will improve massively build / serve times that were always a negative part of the framework. Looks like they are also starting to look at SSR more actively, meaning it will be probably interesting to follow their progress in next versions. Plus they improved the v16 signals which are not experimental features anymore. They improved the syntax for input / output aswel. Plus other less important updates. Clearly, when they say it's "Angular Renaissance" they are clearly not lying. Since v15, they have done a lot of very nice improvements for DX. And they will keep doing it.
Yeah I started with angular and went to a few diff frameworks... That left me kinda wanting with his freeform they were. I did really appreciate angular approach with the structure. Just made alot more sense to me.
The worst thing being an Angular developer is when you have new coworkers that was react developers join your team, and messes up your codebase. it is so pain when your boss prior features to be delivered as fast as possible, and these newcomers just throw a lot of messy codes in your previous works. Everything becomes fucked up when you comeback to your code. Another worse thing is your company dont even have someone who want to review your codes, just as long as you use angular which state to be very flexible in large projects. Well, that decisions fucked us apart, I hate being angular dev bcos of this .
This comment speaks to my soul. We recently had a SENIOR dev join our team that rants and raves about React then takes a fat shit on our Angular project.
As someone leading a small development team and having experience with both React and Angular, I find that React has its challenges. In my view, Angular is more essential, providing a structured approach for junior developers to learn and follow conventions, ensuring better code quality. React, while allowing skilled engineers to create performant applications, can lead to pitfalls and a flood of self-proclaimed "React developers," making it challenging to maintain high-quality code standards. Additionally, for intricate applications involving multiple engineers, I believe React may not be the optimal choice. Angular's structured conventions and approach prove more beneficial in handling the complexities of such projects, ensuring a smoother collaboration among team members.
I do believe kittens are almost perfect. If perfect, they would be hypoallergenic so I COULD HOLD THEM. I might literally go out holding a kitten if things go apocalyptic. What better way? Okay maybe kittens are perfect. Just don't tell GPT9. @@ivymuncher
I've worked with Angular for a few years and at the time it always took long to onboard new people to the code base and the live reload was fairly slow. It's great to see the project improve and evolve to the point where performance and bloatedness may no longer be a concern. When I went from Angular 2 to React (js, class components, prop-types) I honestly thought it was a downgrade in developer experience. React has come a long way since then and I wish the same to Angular.
Worked with all the major ui frameworks and libraries, angular has been my favorite. Especially when it comes to maintaining someone elses code. Angular has been declining for a while now, both from enthusiasts and enterprise usage standpoint but this could help it stop declining and maybe grow further. One message I get from this update/upgrade is that, choosing angular won't leave us stranded or abandoned. In all honesty, excited.
5:55 - you misunderstood. Angular 17 still uses change detection, so the transitions to "real signals" where you cherry pick updates is not yet complete. I believe that did other dom-related optimization, plus - the signals API itself is more performant than its rxjs counterpart, because it's more lazy on when it actually needs to run stuff.
If performance is better now, I can't imagine how much better it might be sith signal based components. Angular might find itself within a reach of Solid.
Declarative gets thrown around a lot in this but arguable 2 way binding like angular and vue is more declarative than setState. The template model split in angular has always felt very weird. SFCs like svelte and Vue is a much better approach imo
SFC is the only real missing piece of the puzzle for me. Once Angular gets SFC, it might just become the best CSR framework out there by a long shot. For now, I still stick with vue for the more approachable and straightforward syntax, but for scalability, Angular is hard to argue with.
Angular has single file components already. Since v2. Also 2-way data binding is just as imperative as setState. Both are modifying a thing that's declared somewhere else. Look up my talk at UtahJS for a precise explanation.
1:45 I think once you understand directives and the power of it (including the input/ output mechanic) it's no more magic at all. Then it is obvious. And before someone cries about to deep learning curve. For a non trained programmer the concept of higher order functions can be as confusing
Important to point out that Angular’s speed improvements in this release have nothing to do with signals. In fact, adding signals to Angular’s diffing model introduces a lot of overhead and makes it significantly slower. The speed improvements come from the new control flow implementation, which finally added an optimized swap rows implementation. The benchmark that shows Angular is fast is using the new control flow with manual state management (no Zone.js, RxJS, or Signals)
The main question is if there is IDE support for the custom DSL that is Angular. I really like Svelte, but the missing IDE Support in Intellij makes it impossible for me to switch to it. Do not recommend vscode, it sucks, I switched from vscode to Intellij because of the better refactoring capabilieties.
idea beta already support the syntax. Angular provide a language server for vscode so its support is out. Indeed ide should support it, but the same was for structural directive declaration. Probably also simpler to implement with this flow
Hi, Angular doesn‘t add more magic to the Syntax it‘s just a more mature framework than others. Other frameworks maybe implicitly or statically add something like a formsmodule to provide form binding functionality it‘s just hidden. Also the example is maybe not the best for you for simplicity because they could only just have shown a 2 way binding vor the native value attribute, binding works without the formsmodule. I‘m developing web since 25 years and there was always html. I like that angular stays close with html, the source mother so to say and tries to extend it, rather than change it. I think ever web dev should first try to do double binding native with vanilla JavaScript. Add event listeners set value. Then choose the framework. The () syntax for getting the value with an change event and the [] for setting the value feel very simple and natural to me, that’s the basics. The formsmodule adds a lot form validation and other things behind. You don’t need it just for the binding part. So not to mix these 2 different things.
indeed. Also angular forms directived does not just add binding to the elements but defines APIs to abstract interaction with controls, including parent child relationship, that can be expressed in your code without weird stuff. I love how people like all those magic of svelte and don't find how the Angular sticking to the Dom API is way better. Also Angular does not force you to a particular style so junior devs can work in a classic imperative manner and then grow and work declarative after. People want declarative programming but it seems everyone is scared about Rx.js
Happy for the Angular community, it was well needed! I was also surprised to see Vue3 so performant on this benchmark. It's will be sexy as fuck to see what it can accomplish with a solid-like compiling strategy (Vapor mode)...😋
Talking about the push back - There was some concerns, yes. But a lot of RFCs and public discussions plus developer previews made the transition as smooth as it could be - This is my personal opinion as someone part of the community
I'll probably just remain on vue, it's simple, it's fast to code in, es9ecially with libs like vuetify getting a basic functioning app up and running is really simple and fast, and nuxt is a really nice experience to, sorry angular :3
I wanted to switch from Angular to React quite a few times, mostly because of templating system in React, which to me is much cleaner than Angular. But when it comes to state management... No thank you, I like my services and signals. Is Redux still a thing?
Because Theo is a promoter of React. He can't go against his own interests :) Angular will be the best solution for enterprice solutions for a very long time. React was and still is just a matter of popularity and not of final quality. In general, one should always choose a technology according to the requirement and not according to popularity, otherwise it will not serve the purpose it is supposed to.
@@weroroSure, but he still decided to make a video about it... So I expect some kind of minimal research. A lot of people get their only information of Angular from this channel.
State management is so precise. When things get too gross I can roll it into a service, use a private behavior subject with a public observable as a facade. I’ll normally expose a function to refetch the data as well on that service. With standalone components all of that extra weight is gone so I find myself creating these new layers effortlessly.
Sounds good until you realize you need distinct until changed, debounce time with combined latest, share replay, actually publish replay and ref count, but even that has issues. RxJS has issues with synchronous states. It's not performant without a lot of work. On the other hand, it's totally declarative, and that's usually worth it.
@@mfpearsthat's why the new way of doing things is : synchronous stuff will be done using signals, asynchronous stuff will be done using RxJs. And you can combine both when you need.
Vue does not get enough love! Vue is absolutely smashing it…as you noticed a little in the perf table. It’ll only get faster when Vue Vapor mode is a thing. Still don’t like Angular…it’s too implicit as you say. FE devs have converged on declarative templating because that’s how HTML works too.
Vue gang. There are so many unique features about vue that sound random but really make it a beast for doing anything you need. Need a static site with no build step? Vue can be imported over CDN. SFC template directives like v-for not good enough to express your rendering logic? Just use a single jsx component and the rest SFC. (Soon) need hyper performance like solid? Just use vapor mode. Vue has won my heart in so many ways and makes other frameworks look like theyve lost the plot in many ways.
this seems neat, but the issue i have is react and react like systems are (for better or worse) the norm. so as a person who is young in their dev journey, i'm much much more inclined to checkout solid js over angular. tho nice to see they're making progress
Angular is designed for enterprise scale applications. It's not really designed for toy projects or side hustles. The reason React got so popular is because it's flexible, while Angular is rigid. Flexibility is great for prototyping and building things up to a certain scale, but past that point rigidity helps more than it gets in the way while flexibility makes it easier to shoot yourself in the foot rather than efficiently solve the problem. One of the most important things to learn as a dev is to recognize which tools are best suited for a project's needs and the human resources you have available to implement the project.
After 6 years using React, I started using Angular this year in some projects (React is still my main frontend framework). What I can say is that, it's been a great experience, big change to increase your understanding about frontend
"Declarative methods of describing things" have been present in Angular since version 2... Except JSX which is a huge pain in the ass. Templating is sooo much more powerful in NG and other frameworks. Also, OOP is a nice paradigm for UI because UI is stateful. So Angular is a mix of both FP and OOP. OOP to keep internal state, FP to communicate with other components and the outside world. It's that simple. Always has been.
module just define directives like ngModel and that directive define the behaviour of your form field. Directives of this type do carry the logic and are bound to the elements. Also in forms, Angular has a straight API for handling controls so you can plug any custom control with ngModel or Reactive form by simply implent an interface. Maybe is not clear at first, but for starter is just a drop in of a directive in the form template while more advanced usages or library creator can implement and work around that strict API. Api Which has been preserved from version to version. Is solo easy and powerful form handling in Angular.
What you call "implicit import" is really not the worse thing about angular, and has been done much better after they introduced standalones. This is basically like doing "import" at the beginning of the file. The only different is there is a different symbol that represents the thing in the template (in that case "ngModel" vs "FormsModule"). I think I've heard that they are working on improving it
@@ivan.jeremic I wish I could, I'm stuck on a legacy project in a job I can't leave do to a visa. I agree that react is better, but I'm still excited about Angular's advancement. They go in a very good direction. I also believe that signals are better than rerendering, but I prefer the functional API like you said.
things that turned me off about angular when i got into front end was the teleporting of data, it felt like to much magic happens and have no idea where my values are going
Hi Bro, I would love you to investigate, the most important guy behind it is Misko. Be aware people from Finnland bring in so much huge expertise as they have perfect education. This guy inventented quik framework inthe meantime. So now the elephant in the room is, if he put this new knowledge back to his old angular project? As it might look that it is like that. I would love you to do another angular episode to clear that up as I have much respect to Misko and his philosophies. Thx and best
Been using Angular since version 2. Didn't have a heartbreak since I haven't used AngularJS at all, so I went in with a clear mind. And I haven't stopped using it since. From experience, our Angular codebases are much more predictable and thought out than react ones that I've worked on. At one point, one of our react projects had two routing libraries and two different http libs ajax and axios plus few native fetch calls.(to be fair, this project was migrated over from using jQuery)
I'm a front-end developer who started with Angular, worked with it for 3 years, and about 1 year ago, I started working with React. For some reason, React has been much more difficult for me, than Angular. Now I do both and I'm happy about it)
Fair take. As an Angular developer, after 50 millions circles of hate-love on JSX I've landed on loving it. JSX is by default more declarative than the template syntax for sure.
If they can get rid of change detection then that's a massive win. I really like the Angular in general, but the numerous changed after checked errors are annoying, and often hard to get rid of in a clean way when it's coming from components you don't have control over.
People really don't understand angular change detection. It's not a change detection issue, it's a zone.js issue. And they are going more and more into that direction: zoneless angular. Don't mix terms, change detection is used by any framework they just not necessarily call it like that. Zone.js is the lib responsible of how DOM tree is rendered.
I'm actively looking for work and turned down a recruiter for a position that was full stack with Angular. I do the same fore full stack with React. I build business apps, I don't need anything as complicated as React/Angular. Simple HTMX with web components gets the job done. I don't know why we like to make the web so complicated. And I'm good at JavaScript/TypeScript. I build offline first web apps in my spare time. But they're simple and easy to work with. Some of the infrastructure takes a little bit of work, but the apps themselves, easy peasy.
I'm excited. the new control-flow-syntax looks much cleaner than *ngIf / *ngFor, which implicitly creates and wrapping ng-template. By now I know Angular in and out, but for new colleagues this whole implicit "magic" is really hard to grasp. And I remember how much I hated it. I really appreciate the DX improvements and the lower entry barriers
I personally loves the microsytax because I never have to use if/else/switch Only a "for" injecting dynamically components using "if" => Every business logic is framework agnostic and centralized
I am building a full stack no code/low code solution built on top of Angular and PrimeNG. So yes I am exited a future version of my tool will be more performant. Of course I will build a version based on React and Vue too in the far future. But the targets of my solution are not the kind of stuff you build with all the cool frameworks and meta frameworks. The target of my tool is CRUD driven business applications, not websites, marketplaces, webshops or private customer facing web apps.
I honestly can't stand Angular, but in my area the job market is HOT for Angular devs, and they pay very very well. I might just have to bite the bullet and get proficient....
I don't understand why performance is always the first thing that is talked about. Let's be real here: the RENDERING performance of all modern JS-frameworks is blazing fast up to a point where you will see no noticeable difference between the fastest (let's say Solid) and the slowest (let's say older versions of Angular) in 99,9% of real-world scenarios. Because real world applications do rarely insert 1000 rows at once. Unless you are responding to very-high-volume-events (like mouse movement) the rendering performance is just soooooooooo insignificant in my opinion. When an application feels slow it's almost never because of rendering performance. Most of the time it's the http call or some bad decisions (not showing spinners, etc.) The performance gains (especially with upcoming signal-based-components) is awesome, but very much irrelevant for almost everyone in my humble opinion. The REAL awesome thing about Signals for me is that it lowers the barrier of entrance. No longer do you need to understand RXJS to get started with Angular and that's a huge plus. Also reactive-primitives are just awesome to work with (one of the reasons I love Vue) and will make code much easier to write AND maintain.
I dont mind Angular syntax itself but I definitely hope they switch to Vue/Svelte style sfc instead of React style, Angular team is now discussing component authoring experience so who knows what they will come up with
@@ivan.jeremic I don't get your comment, I'm saying I hope angular eventually imitates vue/svelte authoring instead of React and your reply is: "This has nothing to do with React style"? 🤔
Tbh I have never left angular in reality. When everyone switched to react there was so much demand for angular devs, some of the react devs looks like they have returned since it is not as hot as what it was before. But I've only had to pick up react once and the rest have been angular. So I've technically never left.
Firstly, the learning curve for Angular is high compared to other frameworks, and it seems Google decided to add more new features. Yeah, this will definitely help entry-level developers now that they have a lot on their plate to learn. It appears they are actively discouraging new people from learning this framework; remember Angular was the only popular framework that many developers said they are not willing to work with again in the JS survey.
what makes Angular particularly hard? I am not much of a web developer so to me they all look more or less the same except for how they decide to render things and where
Because react is super easy compared to something like svelte /s The thing is, react devs will use any excuse to not use better tools than the only one they learned during 2-week bootcamp. That's why the web went to sh*t but it is what it is. Thankfully more and more people come around that react is not the way. It's the circle of tech, we're back in glorious php days😂
I'm most happy of the new documentation. But I feel like Angular cannot become better without huge breaking changes. It has insane boilerplate everywhere: Writing a new component either requires running a CLI command or copying another component and renaming everything, I don't think anyone knows how to write an an Angular component from memory.
It's not really hard if you practice for a bit. Of course, if all you've been doing is copy & pasting, then you'll never remember it. It's important to step back and know what you're actually doing.
I've been using Angular(2) since late 2015. Loved the first time I got to use.. over time new features and libraries made it even better to build projects with.. but the only pain point has always been SSR. How on earth a Google teams ships a framework the google search can't index ? Anyway, it amuses me to see comments about angular and it's opinionated style. So what ? In large companies/products, you need rules and standards anyone can live by and follow. Angular does that well. Unit testing is very efficient. Performance is good.. The only missing part is SSR. Hopefully it will be a gimmick of the past soon
Before angular felt like another language itself if we compare it withe other js framework now its becoming like the other while improving performance and embracing new techs
React should do the same. We need something official for signals that will force the react libs to slowly adopt it. Preact signals are not adopted unfortunately.
I'm a proud Angular developer, however I dont understand why they still impose on having this separet syntax in template. I think they shouldve shamelessly stolen reacts approach with having regular javascript syntax in template. But not really knowing what goes on behind the scenes of Angular maybe it isnt possible? But it is a threshold for new developers learning it. Overall exciting changes and hopefully it will make it more widely used.
I like angular well, when React developers are busy untangling their JSX, Angular devs are sipping coffee and enjoying the simplicity of just adding (ng) and removing (ng) from their templates. It's like Angular is living in 3023, while React is still trying to debug in 2023!
I really would like to see Google try to unify it's angular and flutter ecosystems. If the end goal is really to use fuscia as the OS of the future, I think there should be one paradigm for creating application UI on that system.
I wish they could unify Flutter and Golang. Still don't understand why Google needs both Go AND Dart. How awesome would that be to code in Go on both the FE and BE using Flutter?
You thought you won. But now we've returned.- Darth Angular devs probably.
The best thing I always liked about when I used to work on an angular codebase, was that there wasn't really debates about what library to use, you just use angular.
This
As someone who is stuck with Angular for a while (and likely for a few more years) I've been super excited.
This is really not the channel to learn Angular from but there are other influencers that go over more changes.
Influencers lol
@@talananiyiyaya8912 What would you call them? 😅
Haha 😂😂
@@talananiyiyaya8912 It's what they are.
So many years and you came to a 5 min tutorial of Angular
Angular is the most intuitive framework/syntax. I have ever worked with. React on the other hand is a nightmare of useContext, useEffect and useState hooks which makes the code extremely hard to read the code.
It's exactly why i chose Angular - React code looks like someone's puke.
I started frontend development when Angular was brand new and support for Angular.JS was still a thing. Back then your only major frameworks were Ember, Angular (JS) and React. What can I say? I briefly looked at React and til today never used it. JSX is just awful in so many ways. For me the worst part is that it kinda locks you in (granted vue now supports also JSX). If you stick with Angular, Svelte, Vue or most of the other frameworks meaning you write normal HTML code you can easily switch frameworks if needed
React for kids angular for a man 😂
Declarative mindset is driving me crazy
I understand template can be annoying. But everything else is so much simpler than in react. Context is such a pain while injectable is so easy. useEffect is very limited compare to effect() or rxjs's operators. Form state / validation is very hard in react compare to FormModule. And more importantly directive is not a thing in react, you cannot compose component logic...
So overall I think, template declaration is a small price to pay to get all of this.
he will never understand, cause he is a react fanboy
I'm super hyped for Angular 17 and I think they're pointing at some really cool stuff that will get more fleshed out in subsequent versions. Angular 18-20 is gonna be great.
Angular, Angular, Angular... 🦄🦄🦄🦄🦄🦄🦄🦄
Having a program that expresses that “this happens then this happens then this happens” is imperative programming. Then he says declarative has been working for us as devs. Like, in the most common declarative language, SQL, you’re not gonna express the steps that are taken to get your data. You just tell it what you want and it just does it, it’s “implicit”, meaning the inner mechanics are abstracted away. I feel like these statements are contradictory. Does anyone have a different perspective on it? I hope I’m not misunderstanding him
I came here to say the same thing. I find react to be a lot more imperative than Angular. That said: using FormModule is always a headache when I haven't used angular in a while, so if I ignore the contradictory words I can understand what he means here.
Working with Angular signals is the most comfortable front end dev experience I've had since I started. I still don't like fetching and dealing with external data in Angular, but once it's in the app through a service, it is LOVELY to pass around and compute things with signals.
The example you showcased its pretty simple and intuitive for an angular dev.
just because you are not used to the syntax it doesnt mean you can generalize and say "this doesnt work for us 'web developers'".
why make this video if you are narrow minded towards angular...
even in the first 5s you already look bad for saying that...
Also, 04:30 since when are angular docs outdated????
Next time just show the graph that shows its faster than react and friends without biased opinions ty
Nice from you to talk about it knowing you are not the biggest Angular fan.
But you clearly went too fast on that one and missed a lot of stuff.
The new control flow being probably the biggest miss. The perf screenshot you shown for example is when you use the new for loop provided by the new control flow. That has nothing to do with signals. They were able to improve it vecause they are not using the whole angular overhead from the template system. It's done in a way lower level.
They also added a @defer syntax that makes lazily loading parts of components very easy. That part especially will reduce a ton of boilerplate.
You also missed the implementation of esbuild / vite which will improve massively build / serve times that were always a negative part of the framework.
Looks like they are also starting to look at SSR more actively, meaning it will be probably interesting to follow their progress in next versions.
Plus they improved the v16 signals which are not experimental features anymore.
They improved the syntax for input / output aswel. Plus other less important updates.
Clearly, when they say it's "Angular Renaissance" they are clearly not lying. Since v15, they have done a lot of very nice improvements for DX. And they will keep doing it.
Angular has always been goated because it makes you write code that's not a rats-tail mess
Yeah I started with angular and went to a few diff frameworks... That left me kinda wanting with his freeform they were. I did really appreciate angular approach with the structure. Just made alot more sense to me.
The worst thing being an Angular developer is when you have new coworkers that was react developers join your team, and messes up your codebase. it is so pain when your boss prior features to be delivered as fast as possible, and these newcomers just throw a lot of messy codes in your previous works. Everything becomes fucked up when you comeback to your code. Another worse thing is your company dont even have someone who want to review your codes, just as long as you use angular which state to be very flexible in large projects. Well, that decisions fucked us apart, I hate being angular dev bcos of this .
This comment speaks to my soul. We recently had a SENIOR dev join our team that rants and raves about React then takes a fat shit on our Angular project.
Theo have you actually built a enterprise scale app with angular ? Seems you have not, speaks to your interests in REACT.
As someone leading a small development team and having experience with both React and Angular, I find that React has its challenges. In my view, Angular is more essential, providing a structured approach for junior developers to learn and follow conventions, ensuring better code quality. React, while allowing skilled engineers to create performant applications, can lead to pitfalls and a flood of self-proclaimed "React developers," making it challenging to maintain high-quality code standards.
Additionally, for intricate applications involving multiple engineers, I believe React may not be the optimal choice. Angular's structured conventions and approach prove more beneficial in handling the complexities of such projects, ensuring a smoother collaboration among team members.
I am happy to see some positive change in Angular!
Progress, not perfection 😂🎉
@@SashaInTheCloud nothings perfect
@@runaway09 except for kittens
I do believe kittens are almost perfect. If perfect, they would be hypoallergenic so I COULD HOLD THEM. I might literally go out holding a kitten if things go apocalyptic. What better way? Okay maybe kittens are perfect. Just don't tell GPT9. @@ivymuncher
As an Angular dev, this is amazing to me! So excited for the future.
I've worked with Angular for a few years and at the time it always took long to onboard new people to the code base and the live reload was fairly slow. It's great to see the project improve and evolve to the point where performance and bloatedness may no longer be a concern.
When I went from Angular 2 to React (js, class components, prop-types) I honestly thought it was a downgrade in developer experience. React has come a long way since then and I wish the same to Angular.
Worked with all the major ui frameworks and libraries, angular has been my favorite. Especially when it comes to maintaining someone elses code.
Angular has been declining for a while now, both from enthusiasts and enterprise usage standpoint but this could help it stop declining and maybe grow further.
One message I get from this update/upgrade is that, choosing angular won't leave us stranded or abandoned. In all honesty, excited.
0:15 I haven’t seen a framework upend itself like this since Angular upended AngularJS.
5:55 - you misunderstood. Angular 17 still uses change detection, so the transitions to "real signals" where you cherry pick updates is not yet complete.
I believe that did other dom-related optimization, plus - the signals API itself is more performant than its rxjs counterpart, because it's more lazy on when it actually needs to run stuff.
If performance is better now, I can't imagine how much better it might be sith signal based components. Angular might find itself within a reach of Solid.
@@varagor23 Will definetly be better for an app that exclusively use signal components
I have to rewatch this. I was admiring your earring for half the video on the first watch.
I’ve never used Angular before but I always have an impression that it’s been underrated
people tend to shit on hit because I had dependency injection, modules, rx.js etc etc. Because it's harder to grasp
As a 🥕farmer, i am looking forward to this!
Declarative gets thrown around a lot in this but arguable 2 way binding like angular and vue is more declarative than setState. The template model split in angular has always felt very weird. SFCs like svelte and Vue is a much better approach imo
What does SFC mean?
@@nikilragav single file component
Angular team discussing new authoring formats
SFC is the only real missing piece of the puzzle for me. Once Angular gets SFC, it might just become the best CSR framework out there by a long shot. For now, I still stick with vue for the more approachable and straightforward syntax, but for scalability, Angular is hard to argue with.
Angular has single file components already. Since v2.
Also 2-way data binding is just as imperative as setState. Both are modifying a thing that's declared somewhere else. Look up my talk at UtahJS for a precise explanation.
1:45 I think once you understand directives and the power of it (including the input/ output mechanic) it's no more magic at all. Then it is obvious.
And before someone cries about to deep learning curve. For a non trained programmer the concept of higher order functions can be as confusing
How to say nothing using lots of words
1:00 That's not MVC at all
Theo has no idea what's he's talking about in this video. He should just stick to react.
Important to point out that Angular’s speed improvements in this release have nothing to do with signals. In fact, adding signals to Angular’s diffing model introduces a lot of overhead and makes it significantly slower. The speed improvements come from the new control flow implementation, which finally added an optimized swap rows implementation. The benchmark that shows Angular is fast is using the new control flow with manual state management (no Zone.js, RxJS, or Signals)
The main question is if there is IDE support for the custom DSL that is Angular.
I really like Svelte, but the missing IDE Support in Intellij makes it impossible for me to switch to it.
Do not recommend vscode, it sucks, I switched from vscode to Intellij because of the better refactoring capabilieties.
absolutlely :D sometimes i have to use vscode and i miss so much things from phpstorm
idea beta already support the syntax. Angular provide a language server for vscode so its support is out. Indeed ide should support it, but the same was for structural directive declaration. Probably also simpler to implement with this flow
Hi, Angular doesn‘t add more magic to the Syntax it‘s just a more mature framework than others. Other frameworks maybe implicitly or statically add something like a formsmodule to provide form binding functionality it‘s just hidden. Also the example is maybe not the best for you for simplicity because they could only just have shown a 2 way binding vor the native value attribute, binding works without the formsmodule. I‘m developing web since 25 years and there was always html. I like that angular stays close with html, the source mother so to say and tries to extend it, rather than change it. I think ever web dev should first try to do double binding native with vanilla JavaScript. Add event listeners set value. Then choose the framework. The () syntax for getting the value with an change event and the [] for setting the value feel very simple and natural to me, that’s the basics. The formsmodule adds a lot form validation and other things behind. You don’t need it just for the binding part. So not to mix these 2 different things.
indeed. Also angular forms directived does not just add binding to the elements but defines APIs to abstract interaction with controls, including parent child relationship, that can be expressed in your code without weird stuff. I love how people like all those magic of svelte and don't find how the Angular sticking to the Dom API is way better. Also Angular does not force you to a particular style so junior devs can work in a classic imperative manner and then grow and work declarative after. People want declarative programming but it seems everyone is scared about Rx.js
@@yuriblanc8446 yes, signals will help understanding i guess
Happy for the Angular community, it was well needed! I was also surprised to see Vue3 so performant on this benchmark. It's will be sexy as fuck to see what it can accomplish with a solid-like compiling strategy (Vapor mode)...😋
About what you said at the ending, youtube doesn't use Angular, they still user Polymer, witch actually got replaces by Lit years ago
"I'm even chatting with her right now"
Speaking with a woman is still the biggest flex a programmer can do I see.
Talking about the push back - There was some concerns, yes. But a lot of RFCs and public discussions plus developer previews made the transition as smooth as it could be - This is my personal opinion as someone part of the community
I'll probably just remain on vue, it's simple, it's fast to code in, es9ecially with libs like vuetify getting a basic functioning app up and running is really simple and fast, and nuxt is a really nice experience to, sorry angular :3
I wanted to switch from Angular to React quite a few times, mostly because of templating system in React, which to me is much cleaner than Angular. But when it comes to state management... No thank you, I like my services and signals. Is Redux still a thing?
Well, I'm glad I'll be doing Angular for my next big project. I had to deal with idiot React developers for the past 9 months that drove me nuts.
The only "modern" thing in the examble you gave is standalones and it has been available since 15. You didn't show signals or the control flow.
Because Theo is a promoter of React. He can't go against his own interests :) Angular will be the best solution for enterprice solutions for a very long time. React was and still is just a matter of popularity and not of final quality. In general, one should always choose a technology according to the requirement and not according to popularity, otherwise it will not serve the purpose it is supposed to.
@@weroroSure, but he still decided to make a video about it... So I expect some kind of minimal research. A lot of people get their only information of Angular from this channel.
Hot take - Angular/RxJS is the best frontend combo because of the granularity & explicitness of change detection.
State management is so precise. When things get too gross I can roll it into a service, use a private behavior subject with a public observable as a facade. I’ll normally expose a function to refetch the data as well on that service. With standalone components all of that extra weight is gone so I find myself creating these new layers effortlessly.
Sounds good until you realize you need distinct until changed, debounce time with combined latest, share replay, actually publish replay and ref count, but even that has issues. RxJS has issues with synchronous states. It's not performant without a lot of work. On the other hand, it's totally declarative, and that's usually worth it.
@@mfpearsthat's why the new way of doing things is : synchronous stuff will be done using signals, asynchronous stuff will be done using RxJs. And you can combine both when you need.
Vue does not get enough love! Vue is absolutely smashing it…as you noticed a little in the perf table. It’ll only get faster when Vue Vapor mode is a thing. Still don’t like Angular…it’s too implicit as you say. FE devs have converged on declarative templating because that’s how HTML works too.
Vue gang. There are so many unique features about vue that sound random but really make it a beast for doing anything you need.
Need a static site with no build step? Vue can be imported over CDN.
SFC template directives like v-for not good enough to express your rendering logic? Just use a single jsx component and the rest SFC.
(Soon) need hyper performance like solid? Just use vapor mode.
Vue has won my heart in so many ways and makes other frameworks look like theyve lost the plot in many ways.
this seems neat, but the issue i have is react and react like systems are (for better or worse) the norm. so as a person who is young in their dev journey, i'm much much more inclined to checkout solid js over angular. tho nice to see they're making progress
Angular is designed for enterprise scale applications. It's not really designed for toy projects or side hustles. The reason React got so popular is because it's flexible, while Angular is rigid. Flexibility is great for prototyping and building things up to a certain scale, but past that point rigidity helps more than it gets in the way while flexibility makes it easier to shoot yourself in the foot rather than efficiently solve the problem. One of the most important things to learn as a dev is to recognize which tools are best suited for a project's needs and the human resources you have available to implement the project.
After 6 years using React, I started using Angular this year in some projects (React is still my main frontend framework). What I can say is that, it's been a great experience, big change to increase your understanding about frontend
"Declarative methods of describing things" have been present in Angular since version 2... Except JSX which is a huge pain in the ass. Templating is sooo much more powerful in NG and other frameworks. Also, OOP is a nice paradigm for UI because UI is stateful. So Angular is a mix of both FP and OOP. OOP to keep internal state, FP to communicate with other components and the outside world. It's that simple. Always has been.
great take. people tend to confuse functions with functional alot ;).. So much that run away scared when the encounter Rx.js
module just define directives like ngModel and that directive define the behaviour of your form field. Directives of this type do carry the logic and are bound to the elements. Also in forms, Angular has a straight API for handling controls so you can plug any custom control with ngModel or Reactive form by simply implent an interface. Maybe is not clear at first, but for starter is just a drop in of a directive in the form template while more advanced usages or library creator can implement and work around that strict API. Api Which has been preserved from version to version. Is solo easy and powerful form handling in Angular.
Super excited about Angular 🎉
SvelteKit, Solid, Qwik or Quasar (Vue) is much a better choice.
What you call "implicit import" is really not the worse thing about angular, and has been done much better after they introduced standalones. This is basically like doing "import" at the beginning of the file. The only different is there is a different symbol that represents the thing in the template (in that case "ngModel" vs "FormsModule"). I think I've heard that they are working on improving it
@@ivan.jeremic I wish I could, I'm stuck on a legacy project in a job I can't leave do to a visa.
I agree that react is better, but I'm still excited about Angular's advancement. They go in a very good direction. I also believe that signals are better than rerendering, but I prefer the functional API like you said.
@@ivan.jeremicyes try react where everything is a function. Including your whole HTML template .. 🤮🤮.
@@ivan.jeremicyes try react where everything is a function. Including your whole HTML template .. 🤮🤮.
i can say that angular is doing very well and I can't wait to see more changes
Svelte 5 is going to use signals too, so I'm excited to see the benchmarks after that.
So the CRUD page will have better performance? 😂😂
things that turned me off about angular when i got into front end was the teleporting of data, it felt like to much magic happens and have no idea where my values are going
Hi Bro, I would love you to investigate, the most important guy behind it is Misko. Be aware people from Finnland bring in so much huge expertise as they have perfect education. This guy inventented quik framework inthe meantime. So now the elephant in the room is, if he put this new knowledge back to his old angular project? As it might look that it is like that. I would love you to do another angular episode to clear that up as I have much respect to Misko and his philosophies. Thx and best
I'd love to see your opinion on fireship's video if he does take about this
Why do you think that this style isn't the best for full stack scalable applications?
Been using Angular since version 2. Didn't have a heartbreak since I haven't used AngularJS at all, so I went in with a clear mind. And I haven't stopped using it since. From experience, our Angular codebases are much more predictable and thought out than react ones that I've worked on. At one point, one of our react projects had two routing libraries and two different http libs ajax and axios plus few native fetch calls.(to be fair, this project was migrated over from using jQuery)
Why does no one use SolidJs!?!?!?!
Once you go react you never go back, sorry 0:50 it still reminds me of old angular syntax and complexity.
That's because it is. The only new thing there is "standalone: true".
Google flutter kind of gives me angular vibes. These stacks gonna merge one day or they just hedging or something?
I don't know a lot about Angular but at 1:04 the structure looks so similar to a typical Flutter file. With Google there can be no coincidences. 😏
1:30 there is absolutly nothing new on this demo, its works like that since angular 2
I'm learning angular for a new job so this is pretty amazing timing ☺️
omg a wild million benchmark!!
Astro Framework is also missing
I'm a front-end developer who started with Angular, worked with it for 3 years, and about 1 year ago, I started working with React. For some reason, React has been much more difficult for me, than Angular. Now I do both and I'm happy about it)
Did vercel buy angular?
Angular syntax is something that should never have existed. Its a maintenance nightmare.
agreed, what a mess. But it works. But why use it when you can just use nextjs?
Fair take. As an Angular developer, after 50 millions circles of hate-love on JSX I've landed on loving it. JSX is by default more declarative than the template syntax for sure.
If they can get rid of change detection then that's a massive win. I really like the Angular in general, but the numerous changed after checked errors are annoying, and often hard to get rid of in a clean way when it's coming from components you don't have control over.
That error will mostly be gone with signals.
Don't all frameworks have change detection??
People really don't understand angular change detection. It's not a change detection issue, it's a zone.js issue. And they are going more and more into that direction: zoneless angular.
Don't mix terms, change detection is used by any framework they just not necessarily call it like that.
Zone.js is the lib responsible of how DOM tree is rendered.
Ready for the upgrade
I'm actively looking for work and turned down a recruiter for a position that was full stack with Angular. I do the same fore full stack with React. I build business apps, I don't need anything as complicated as React/Angular. Simple HTMX with web components gets the job done. I don't know why we like to make the web so complicated. And I'm good at JavaScript/TypeScript. I build offline first web apps in my spare time. But they're simple and easy to work with. Some of the infrastructure takes a little bit of work, but the apps themselves, easy peasy.
I'm excited. the new control-flow-syntax looks much cleaner than *ngIf / *ngFor, which implicitly creates and wrapping ng-template. By now I know Angular in and out, but for new colleagues this whole implicit "magic" is really hard to grasp. And I remember how much I hated it. I really appreciate the DX improvements and the lower entry barriers
I personally loves the microsytax because I never have to use if/else/switch
Only a "for" injecting dynamically components using "if"
=> Every business logic is framework agnostic and centralized
I am building a full stack no code/low code solution built on top of Angular and PrimeNG. So yes I am exited a future version of my tool will be more performant. Of course I will build a version based on React and Vue too in the far future. But the targets of my solution are not the kind of stuff you build with all the cool frameworks and meta frameworks. The target of my tool is CRUD driven business applications, not websites, marketplaces, webshops or private customer facing web apps.
I honestly can't stand Angular, but in my area the job market is HOT for Angular devs, and they pay very very well. I might just have to bite the bullet and get proficient....
I don't understand why performance is always the first thing that is talked about. Let's be real here: the RENDERING performance of all modern JS-frameworks is blazing fast up to a point where you will see no noticeable difference between the fastest (let's say Solid) and the slowest (let's say older versions of Angular) in 99,9% of real-world scenarios. Because real world applications do rarely insert 1000 rows at once. Unless you are responding to very-high-volume-events (like mouse movement) the rendering performance is just soooooooooo insignificant in my opinion. When an application feels slow it's almost never because of rendering performance. Most of the time it's the http call or some bad decisions (not showing spinners, etc.)
The performance gains (especially with upcoming signal-based-components) is awesome, but very much irrelevant for almost everyone in my humble opinion.
The REAL awesome thing about Signals for me is that it lowers the barrier of entrance. No longer do you need to understand RXJS to get started with Angular and that's a huge plus. Also reactive-primitives are just awesome to work with (one of the reasons I love Vue) and will make code much easier to write AND maintain.
New logo is sooooo nice
Emma's role - crisis management, according to the state of angular
I dont mind Angular syntax itself but I definitely hope they switch to Vue/Svelte style sfc instead of React style, Angular team is now discussing component authoring experience so who knows what they will come up with
@@ivan.jeremic I don't get your comment, I'm saying I hope angular eventually imitates vue/svelte authoring instead of React and your reply is: "This has nothing to do with React style"? 🤔
Nice that Theo is now using Arc Browser :D
Tbh I have never left angular in reality. When everyone switched to react there was so much demand for angular devs, some of the react devs looks like they have returned since it is not as hot as what it was before. But I've only had to pick up react once and the rest have been angular. So I've technically never left.
Aemmmh.... RUclips doesn't use Angular but instead it's fully built in Polymer, with native web compoents... Anyway good video :D
Firstly, the learning curve for Angular is high compared to other frameworks, and it seems Google decided to add more new features. Yeah, this will definitely help entry-level developers now that they have a lot on their plate to learn. It appears they are actively discouraging new people from learning this framework; remember Angular was the only popular framework that many developers said they are not willing to work with again in the JS survey.
what makes Angular particularly hard? I am not much of a web developer so to me they all look more or less the same except for how they decide to render things and where
Because react is super easy compared to something like svelte /s The thing is, react devs will use any excuse to not use better tools than the only one they learned during 2-week bootcamp. That's why the web went to sh*t but it is what it is.
Thankfully more and more people come around that react is not the way. It's the circle of tech, we're back in glorious php days😂
since i heavily use strong type decorator (attribute) waay before going into webdev, learning Angular is a breeeeeeze
Angular having steep learning curve compared to react is a misconception. React is the hardest to learn
@@boccobadzare you okay mate?
Angular really cooking something
I'm most happy of the new documentation. But I feel like Angular cannot become better without huge breaking changes. It has insane boilerplate everywhere: Writing a new component either requires running a CLI command or copying another component and renaming everything, I don't think anyone knows how to write an an Angular component from memory.
You're supposed to use the cli to generate a new component.
@Component({
selector: 'app-my-component',
template: ``,
styles: ``,
standalone: true
})
export class MyComponent{}
Check if I missed anything critical
That's not true at a. I prefer hand writing new components. It's not that much to remember (selector, template, standalone, styles).
It's not really hard if you practice for a bit. Of course, if all you've been doing is copy & pasting, then you'll never remember it. It's important to step back and know what you're actually doing.
Actually, there is only the one required property field to pass into the component decorator: template.
I've been using Angular(2) since late 2015. Loved the first time I got to use.. over time new features and libraries made it even better to build projects with.. but the only pain point has always been SSR. How on earth a Google teams ships a framework the google search can't index ?
Anyway, it amuses me to see comments about angular and it's opinionated style. So what ? In large companies/products, you need rules and standards anyone can live by and follow. Angular does that well. Unit testing is very efficient. Performance is good..
The only missing part is SSR.
Hopefully it will be a gimmick of the past soon
that thumbnail is hilarious 🤣
I only use it because of work, the only thing I'm truly looking forward to is using vite
Was always afraid to touch angular, but after their release. I gave it a try, and don't think it's that bad. I kinda like te oop way of doing thins.
3:40 I'd like to point out Solid 1.8 is the 3rd column
Why?
yes, this is the full list, where solid is included
Before angular felt like another language itself if we compare it withe other js framework now its becoming like the other while improving performance and embracing new techs
POV - you are living in 2023 - the year of the gradients
Smile and wave bois. Just smile and wave
which browser is that?
Probably Arc
React should do the same. We need something official for signals that will force the react libs to slowly adopt it. Preact signals are not adopted unfortunately.
I'm a proud Angular developer, however I dont understand why they still impose on having this separet syntax in template. I think they shouldve shamelessly stolen reacts approach with having regular javascript syntax in template. But not really knowing what goes on behind the scenes of Angular maybe it isnt possible? But it is a threshold for new developers learning it. Overall exciting changes and hopefully it will make it more widely used.
I like angular well, when React developers are busy untangling their JSX, Angular devs are sipping coffee and enjoying the simplicity of just adding (ng) and removing (ng) from their templates. It's like Angular is living in 3023, while React is still trying to debug in 2023!
I really would like to see Google try to unify it's angular and flutter ecosystems. If the end goal is really to use fuscia as the OS of the future, I think there should be one paradigm for creating application UI on that system.
I wish they could unify Flutter and Golang. Still don't understand why Google needs both Go AND Dart. How awesome would that be to code in Go on both the FE and BE using Flutter?
Fuksia Is dead 😢
I’ve seen three absolute messes of unmaintainable React at two major companies. Angular is built on solid principles that will only get better.
So angular good now?
Angular always was faster than other libraries and frameworks
I created an interface with angular 13. I really enjoyed it.