Updating angular version is such a breeze. I've updated 3 projects over past few years from Angular 10 to 14 then 16 and now 18. Migration is automated in most cases and the doc provided is sufficient. It could be a priority issue where codebase is not updated. React is very beginner friendly but having used both I can easily navigate and debug unfamiliar Angular application than a React. React forces you to think and manage your code. Angular forces you to use it in a fixed way and just focus on the problem at hand.
100% that's why angular is still my framework of choice nowdays but I understand why some frontend developer dislike angular. Angular use powerful concepts more used in backends such as dependencies injection so it can be harder for some frontend developers to start using angular but IMO it worth it. Like you mentioned, I could enter any angular projects and start debugging it because of the way angular force you to structure your projects while I can go into a vue or react project which can be built in 100 different ways and can take times to understand the functioning part of the software without proper documentation or help from someone familiar with the project.
@@singatias I think VueJS is what killed Angular. Unlike React, Vue is somewhat opinionated, with a lot of the needed features created with the project. This made Vue be the "easier" intro to FE development for developers from other fields than the modular ReactJS. Angular on the other hand, has a sharp learning curve, and you can pretty much get the exact same results with a framework like Vue with a lot less time to learn to use it. I personally work with VueJS, but I prefer ReactJS over Vue, as I share the same opinion this comment has, which is that "React force you to think" and that's what I enjoy about programming in general.
Similar boat - I've updated several enterprise scale apps from roughly angular 6 to latest. These were some of the most challenging projects I've ever done. Going from 10+ isn't so bad - but 6 to 10 is painful.
I think angular 65kb size is understandable considering it comes bagged with routers, form etc out of the box. Interesting enough, all unused stuff are tree shaked away during production build so the size is not a big deal
One of the UA-cam rabbit holes I've been going down lately is UA-camrs using lightweight Linux distros to revive 20+ year old computers. Almost always, the distro and almost all native software performs beautifully on these old computers. The two things that are very slow? Modern games, but that's to be expected on an old computer. The second? Web apps. This is a state of emergency as far as I'm concerned because every app creator wants their apps to perform well on old hardware and slow internet connections... because you want your apps to be accessible to as many users as possible. And really, most web apps are basically just text, buttons, and forms.... what real reason is there for text, buttons, and forms to perform badly on old hardware?
Big agree here. I think the foundations of the web don’t make for performant web apps. A different set of standards designed with web apps in mind from the start would be much better.
I honestly care only about a few things: - no corporate BS pulling ropes, I don't like rug-pulls - no v-DOM because having wrappers etc is just a PITA - possible to run without a build step (because this is where legacy comes from) - no need to update the thing every X weeks because of some reinvent-the-wheel random decisions - no bizillion abstraction with lackluster documentation Hence I think that using Fresh by Deno (Preact behind the curtain) sounds like the most healthy way of dealing with all of this mess while caring about Web Standards. Hopefully Vue3 with Vapor gonna remove the need for the v-DOM too. The rest don't really check any interesting box to me. Qwik sounds nice. I see the appeal for Solid too. While Astro is dope as usual.
just look at HTMX, use the dom the way its intended, and use javascript the way its intended. Nothing difficult about hypermedia and yet somehow we have decided to abstract everything away just to create complexity in the stack
I'm using Astro and Solid for my frontend. Astro is really flexible, and it's being developed very quickly with good support all around. The fact that it doesn't lock you in to any JS framework is a plus. Solid is smaller, but a better and less confusing React. Even though the ecosystem is small, writing things from scratch in Solid is way easier than React because you won't encounter half the bullshit that React causes (damn you useEffect, useCallback and component rerenders), and using vanilla js library with it is also easier. Solid is a relatively simple framework because it simplifies React API, so you can hire React devs and work in Solid day one.
Programming is a trap.. you become a slave to the tools. The tools change constantly, you can barely catch up, and when some of the tools (libraries, languages) become obsolete then you're screwed and you have to move on and learn another set of tools. IMHO, programming is rewarding only if you're doing it for your own personal projects not as part of a corporate structure. 🤷
@@User948Z7Z-w7n That is why I am going to learn c/c++ and wanting to touch on assembly + systems programming, or if required for a project vanilla js + function wrappers around document.addEventlistener() and the like to make it all less verbose :) I don't know why I haven't heard anyone try that
There is an argument to be made for larger teams working with Vanila JS who will always end up creating internal abstractions, rules and constraints. Using a lightweight framework (like Solid for instance) ensures some of those internal abstractions and decisions are following the standards most of the community agreed are good enough.
Angular's opinionated nature = fewer arguments, faster decision-making, and a more cohesive dev experience. For enterprise projects, this isn’t just good-it’s a game changer. Comparing Angular's size to React or Svelte? Total apples-to-oranges. Angular comes with everything (routing, pipes, DI, forms, etc.), while React/Svelte are minimal by design and rely on third-party libraries. By the time you bolt on React Router, state management (Redux/Zustand), etc., the sizes are comparable-if not larger. The 'heavier size' is simply the cost of Angular being an all-in-one solution. It saves devs from wasting time picking random libraries. As for older projects stuck on legacy versions? That’s less about Angular and more about a skill issue. Many of these projects are already scaled down with no capacity for updates. 🤷
Angular is opinionated - but its also meaning that finding angular devs is harder Angular size - For quick testing even just angular/core is larger then svelte, solid or vue with routing and forms. React is huge on its own All-in-one solution - but is also mean that you need to learn angular-only solution. Many libraries are now framework agnostic and angular opinions make it harder to use them older projects stuck on legacy versions - its more just conservatism in code. Why use signals when decorators do they job I write this not as a person who dislikes Angular, but quite the opposite. As a person who likes Angular and cannot use it at work precisely because of what culture Angular comes from Fortunately, Vue “originate” from Angular so it finds a substitute in it
You are talking like VueJS doesn't exist, or that all companies need all these "features" out of the box! Additionally, more opinionated = less opportunity for you to grow as a developer, you are only learning how to use the tool, not learning actual development, because you don't really need to think about all the details of achieving a task! Instead, you just need to remember how company [x] told you to do it.
@@mohamadybr Good points, but let’s unpack them. First, Vue does exist, and I respect its flexibility-great framework. But it also falls into the 'minimal by design' category, requiring plugins or additional tools (e.g., Vue Router, Pinia) to achieve parity with Angular's feature set. Not every company needs all-in-one solutions, but for enterprise teams, where scalability, onboarding, and predictability matter, having a cohesive ecosystem is a massive win. As for opinionated frameworks limiting growth? I disagree. Opinionated frameworks teach design patterns and best practices (e.g., DI, reactive programming with RxJS in Angular). They force you to adopt a structured approach, which helps immensely when you’re part of larger teams or scaling a project. If you really want to grow as a developer, understanding why these patterns exist and how they’re applied is the real challenge-not just reinventing the wheel on every project because a framework gives you too much freedom. Learning ‘how to think’ isn’t exclusive to unopinionated tools; it’s about how much you dig into the why of the framework you're using. 😉
@@untlsn I get why Vue could feel like a natural middle ground-it's less opinionated but still structured enough to avoid total chaos. But to me, Angular’s 'culture' is its strength in enterprise settings: predictable, scalable, and enforceable. Sounds like your work environment might favor flexibility over that structure, though! I agree about the hiring difficulties, but while it narrows the pool, it also ensures a higher baseline of expertise. The devs you hire are less likely to reinvent the wheel. (Still happening though)
as a java developer front end framework make me think frontenders lost a few screws from the amount of subframework one needs to build a single hello world.
@RedShift5 not really, locale is default, string is immutable so it don't no factory, and hardly anyone uses sevice loaders, meanwhile for a front end project your need a webpack, a linter, a package manager, a ci framework, unit testing framework, a markup language mixed with js mixed with some other languages and each has it's own meta language, and by the time you finish learning one 5 others pop up, that's what i learned from a starter generated webproject and i'm not the only saying this, it's nuts and frustrating.
What are you talking about? These are frameworks which you can pick from. You don't mix them up. Just because you are uncomfortable with different stacks doesn't mean others "lost screws". You guys have Spring, Micronaut, Quarkus etc... The Java ecosystem also has opinionated wars just like the frontend world.
@@noherczeg i know, but i don't need spring or micronaut for a hello world, but when i just wanted to get bare bone minimal required to build a page of a hello world that was what thrown on to me, to my knowledge the java backend is ruled by mainly spring which i have to say sounds more like hogwartihan annotation (always seems to have one more annotation) , the only time i actually felt happy about the web is when i touched a little vaadin. but everyone looks down on it. opinionated WARs? , i see what you there ;)
Personally what I miss in React / Solid is that they lack any scoped CSS solution (ideally collocated) out of the box I would find convinient, CSS modules seems obnoxious to me and tailwind is not very suitable for more complex styling, however I find this to be a very subjective topic.
That's to blame CSS not React, because in React Native the out of the box solution does exactly that for you. The reason React web doesn't is because it needs to be compatible with pre existing standards. You can use React Native to build web, android, ios all at the same time so try that (with expo).
All these frameworks are just too much. Are we really learning how to code or just learning a new framework new devs should just stay away. Learn MVC build some real stuff then and only then spend time in the endless pool of framework.
I used Angular and svelte (took stay away from react approach). Angular was complex and you have to add so many imports etc and in 2021 I started using svelte(v3) and liked it more. v3 and v4 have some issues with reactivity, i faced them in mid size projects and v5 fixes many of them. Still going with svelte v5 and I'll choose svelte other frameworks. I agree with Job and market but I don't agree with small eco system. I haven't faced that issue except for once. I was not able to find a good wysiwyg editor integration but same time i was able to do it with provided guide of wysiwyg editor the way you need to add in JS.
Just ppl use word ecosystem when they mean community Yes solid and svelte community is small. Because there are not that many jobs, tutorials, senior devs But certainly there is no need to be discouraged, but rather to increase this community itself
Seriously? Is this official - I didn't know about it. I know they have various sponsors, which is a bit different compared to being an internal dev team at Google / Meta.
Anyone saying that React RSCs are more complex than the old SSR models doesn't understand them yet. Switching to RSCs using NextJs app router made everything in the stack so much easier. Instead of using 5 libraries for managing different complex steps of getting and syncing data between FE and BE, you can now write it all yourself using very few primitives. And I've used app router with RSCs in basically all of it's "versions" (and yes it's still very much changing and evolving) and it just keeps getting simpler with every major update (such as the "use cache" with PPR and dynamicIO).
I just want HTMX to lead the pack in frontend. Why abuse js so much when we can use actual server side actions to give us partials, whilst using js to do the thing its good at; DOM manipulation. we have shoehorned js into this weird amalgamation of whatever it has become because developers just simply think its the best tool for all the jobs.
Right, but I believe with HTMX we are moving some of the DX issues back on the client. As you said, all of a sudden I have to worry about templating and partials on the server. But, I agree, and, as I said in the video - there is no magic bullet. Some frameworks are better suited for some use cases.
@@awesome-coding I think that templating on the server isnt necessarily a big worry to have, and if it is a worry to have, then I'd rather worry about that (a thing I have more control over) than hoping a framework (or meta-framework) has implemented something properly. The amount of footguns javascript has (and thus by extension all these frameworks) is insane to me that we even allow this to happen in the industry. If I want to shoot myself in the foot, then at least I want the freedom to also prevent it from happening. It's why I'm making the jump away from web development into systems and lower level languages. TypeScript cant change the atrocities that JavaScript allows for and as its just a superset of js, it will never evolve and it will always need to conform to the language standards of js. Which is a shame to put it mildly. I whole-heartedly believe that nodejs (and thus by extension bun and deno but they do seem interesting to play around with) was a total mistake. I believe the deterrence of "js on the server" and using it for what its meant to do is the only step forward into building a brighter and better future for the frontend eco system. I am grounded in the fact that the complexity of the frontend development cycle is unnecessary and dare i say even destructive to the eco system. We have core contributors to language specifications talking about "resources are free and infinite" and then we wonder why our normal "enterprise" CRUD app eats 4gb of ram from the browser alone on a client (and its sure as hell not "chrome eats ram lolol" but pure slop and bloat) Anyhow, not to rain on your parade because the video was great and i enjoyed it! Just thought its an interesting conversation to have
@@mikkurogue js is a bad language but incredible optimization that goes into the engine makes it up. Your take is really naive. That's like seeing python but not seeing the cpp cuda library behind the scene
@ the engine doesnt still justify its still a relatively slow language. Python isnt faster because of a cpp cuda library. Nor is javascript supposed to be excused for its poor resource management and performance just because the engine is well optimized. I agree that the engines are a marvel and a great bit of work but it doesnt excuse js being a god awful language. I mean all numbers are 64 bit signed integers, why does every number take 4 bytes when most apps can get by with a maximum of 32 bits quite handily. If we had more finegrained options for these things then js would be a wonderful experience
Thanks for video. It's a great overview. I want to mention, that all those issue of the framework arize only in specific situation - when the app is already huge. And somehowe people still are lokking for another framework to solve it. And they skip over micro-frontends. A simplest version of which is separation by pages and connection of a js file. Once app is splitted - there is no difference which framework to use. And business can safely try new tools and rollback is needed. And it doesn't require webpack module federation - it's already an optimisation. So from all this video only Astro makes sence as it suports multi-framefork solutions.
drawback of GenAI is they are trained on older data so it will hallucinate and give incorrect output result of that people choosing frameworks who is supported in by the GenAIs
Short answer is NO, but you don't find a lot of experienced Vanilla JS developers that shares the same approach on solving a problem, and creating a large and modular vanilla JS project is a pain! Save yourself and your team the time and the pain and use a framework instead.
the amount of people questioned who are interested / used in a specific framework. If you used both React and Angular you would say yes to both, hence the percentages not adding up.
these are the percentages of surveyed devs who have used/are interested/are satisfied with a framework. Many people have used more than 1 framework, that's why it doesn't add up.
At this point, the entire JS ecosystem feels like a marketing stunt to sell some other cloud service to host said JS. Development shouldn't be this overcomplicated.
Svelte 5 is backward compatible btw, so no breaking changes. And you can migrate your svelte 4 project with a single command. As for the ecosystem, i guess you mean community? Because you can use almost any js library with svelte, we don't often need svelte specific wrapper for most libraries out there. And the job market is tiny for svelte devs but for me, I picked svelte in 2020 and went freelancing.
svelte is growing and framework like tanstack query supports it and it also has good styling libraries too. and I think upgrading from svelte 4 to svelte 5 is a lot less headache compared to upgrading from vue 2 to vue 3. though something like expo adapting svelte might be not likely to happen, I can learn kotlin and jetpack compose anyway and will thank myself in the future
Svelte 5 has the same compatibility issues. You can't use the old packages because they are not compatible with Svelte 5, and you can't use the new packages because they are not ready yet.
What could be a framework that does not connect to the internet? I am getting old I guess. When I was young, you just had to install the tools and that's it. Everything now depends of external libraries. I try to run some examples that were working a year ago, and always the error about is "deprecated". Wtf.
Sometimes, very rarely, there are silver bullets. When React hit the marked, it was one. It initiated a completely new way of thinking in self-contained components. jQuery also was such a silver bullet back when it was on the rise, because it created a unified, well thought-out DOM API that was shared across different browsers when their implementation still had lots of inconsistencies and differences. I haven't seen this kind of silver bullet recently. Outside of JS frameworks, tailwind comes close, but its approach is still not universal enough to work for almost everybody. HTMX, while taking a radically different approach, is also by far not universal enough. But even though it's absolutely not my cup of tea, it may be a great option for certain use-cases.
htmx isn't supposed to be an universal solution for every SAP framework. data-heavy network calls will benefit from using htmx. reactive client side rendering parts can be done with alpine.js. for me as a backend dev (C++/Rust), both libraries are the holy grail right now, because of the easy development process , the small maintainability effort and the fast learning curve.
6:56 I don't think that's a fair assessment of Svelte 5. It's to a large degree backwards compatible, Svelte 5 components can easily co-exists with Svelte 4 components in the same project. The friction was mostly about people not liking the $runes syntax. I think they're great, they've managed to further simplify DX.
You mean it's not 100% compatible. Which means people are going to face issues. The new reactivity system sucks because Svelte maintainers are out of touch and don't know what are the needs of the people that are building apps. Instead of talking with the community, as always, they did what they wanted and blamed the community when they said anything that the maintainers didn't like. Svelte 5 reactivity system if filled with foot goes non type safe code, limited and non-existing features.
@@babakfp I'm sorry for you, but my experience with Svelte 5 is the opposite. There's no such thing as a major version bump that's 100% backwards compatible, by definition. Yet you can still use Svelte 4 components in Svelte 5.
I really like angular, but following the data flow inside class components can be some overwhelming. I would love to see functional components in Angular.
The whole Vue v2 vs v3 is such a farce, a completely unnecessary self inflicted wound. The devs just couldn't help themselves trying to fix something that wasn't broken.
React is also usable for mobile native apps as well but how about the other JS libraries? I don't think you can use Svelte Vue Solid etc for a native app. Only a webview, maybe.
React you write for 'native' apps isn't really the same React you would use for web. It's not like you can write a web app then compile/use it on a mobile device. Also, AFAIK with native one is basically forced to use proprietary libraries and services for authentication, deployment etc.
@@denissorn did you know expo supports web & native cross platform out of the box? The building blocks are different only if you use the basic building blocks from web
I think you missed, imo, the most important factor for adoption of said frameworks going forward: AI tooling around them. People just want to do things fast, and no llm has been trained with svelte 5 code. I guarantee that over the next years, any framework that doesn't find a way to write state of the art framework code using tools like cursor, v0, etc, will be left behind.
you are right! I touched on the AI subject, but I usually don't get into a lot of details because people hate to hear that AI will do a lot of the coding instead of them :))
Yeah sadly most LLMs will ignore your instructions and just give you the React way of approaching a problem because there's just so much more out there for it to use as context.
Angular has never been unnecessarily complex, unless you're a noob that just work in small and/or simple projects. Other than that, you almost always need to organise your projects in components and modules, otherwise you're definitely not doing it right. All in all, Angular has always been the best in most cases, and now more than ever.
It should also be mentioned that this is mainly the US and, for example, where I live (Eastern Europe) finding React jobs is not easy. But finding Vue or Angular jobs are way easier. I would say 70% is Angular, 20% is vue
@@awesome-coding By US mainly I meant survey (most live in US) Maybe it's Poland + east Germany bubble in my case Or maybe because of current lack of jobs most react jobs are already occupied Therefore, in Vue and specially angular there are still some jobs, because there aren't that many devs
I think svelte is the best front-end framework ever and the only preference for me to work on my projects if don't go with vanilla js + jquery. I don't know vue, I roathe react, i don't like solid because it seems like react and i don't like angular because it's opinionatedness, svelte is the only choice for front-end.
can we have report like this on blaze ? it's interesting technology bring what i love most from c# which is type-safety , but few 3rd third party library support it :/
3:04 -- i burst out laughing at "react is not reactive"! ...i had to explain that to my jr dev, which is why i only run sveltekit 5 now. Svelt reactivity with a $ sign will alway equal more $ signs in my bank account.
The wort part of JS frameworks is that we now have Senior {pick your FW here} devs, who are junior JS dev at the same time :/ (Almost) No one cares how JS or browser works, just deep into their FW.
People who are interested in learning Svelte don't; it's filled with issues, missing features, etc. Svelte maintainers are out of touch and the new reactivity system is garbage; You don't even know what is reactive and what is not without looking at the declaration; No type safety.
Worked with svelte for 4 years in typescript - the LSP is extremely slow and the IDE performance is terrible. Would not reccomend for entreprise level software.
True. Their vsCode extension is terribly slow and buggy. Sometimes you loose type safety and need to restart vsCode. There are issues with their Prettier plugin too; Sometimes it takes a bunch of seconds to simply format a file.
@@Meleeman011 Nah man, the language server is written in typescript and it's horribly slow and buggy. It generates types in the background to resolve the types between your +server pages and your +page if you have a long tree of layouts that generate types, it becomes very apparent that it is a problem. * Written by a hooman.
Svelte template syntax is awful. React is just JavaScript. Svelte is a made-up syntax that isn't even properly tape-safe in your code editor; In Svelte, Snippets are different than components meaning you need to learn a new thing that everything about it is different. Whereas in React, you don't have a new concept to grasp. The if/else etc blocks in Svelte are super ugly and hard to write whereas Angular does this better with a more JS-like and clean syntax. If you are using an icon library in Svelte, your site will get extremely slow and to solve it you would need to import the icons individually rather than using an index file to easily import them.
When it comes to JavaScript frameworks, the only reason React, React Native is highly used is due to is ability to interact with iOS and Android devices. But it’s nothing more than an abstraction layer that communicates with said devices, so it can be slower than Frameworks like Flutter. Nevertheless, PHP is the sleeping giant recapturing the market.
Absolute bloat. Why not just learn how to write vanilla css3 + js without a crutch, and in a way that is output like typescript. They are crutches for ppl that don’t even understand how the V8 Engine works in browser and c++ engine for css/animations.
Updating angular version is such a breeze. I've updated 3 projects over past few years from Angular 10 to 14 then 16 and now 18. Migration is automated in most cases and the doc provided is sufficient. It could be a priority issue where codebase is not updated. React is very beginner friendly but having used both I can easily navigate and debug unfamiliar Angular application than a React. React forces you to think and manage your code. Angular forces you to use it in a fixed way and just focus on the problem at hand.
100% that's why angular is still my framework of choice nowdays but I understand why some frontend developer dislike angular. Angular use powerful concepts more used in backends such as dependencies injection so it can be harder for some frontend developers to start using angular but IMO it worth it. Like you mentioned, I could enter any angular projects and start debugging it because of the way angular force you to structure your projects while I can go into a vue or react project which can be built in 100 different ways and can take times to understand the functioning part of the software without proper documentation or help from someone familiar with the project.
@@singatias I think VueJS is what killed Angular. Unlike React, Vue is somewhat opinionated, with a lot of the needed features created with the project. This made Vue be the "easier" intro to FE development for developers from other fields than the modular ReactJS. Angular on the other hand, has a sharp learning curve, and you can pretty much get the exact same results with a framework like Vue with a lot less time to learn to use it.
I personally work with VueJS, but I prefer ReactJS over Vue, as I share the same opinion this comment has, which is that "React force you to think" and that's what I enjoy about programming in general.
Avoiding all angular projects. React all the way, more jobs :)
I wish I had that experience I am jealous
Similar boat - I've updated several enterprise scale apps from roughly angular 6 to latest. These were some of the most challenging projects I've ever done. Going from 10+ isn't so bad - but 6 to 10 is painful.
I personally like Svelte most
V4 or V5? :D
@@awesome-coding both
5
5
5
I moved to backend
What stack?
Omw too honestly.
@@awesome-coding golang :)
@@maximus1172 You are in luck! I have a bunch of Go videos on my channel :D
Well that's a good choice 😂
I think angular 65kb size is understandable considering it comes bagged with routers, form etc out of the box. Interesting enough, all unused stuff are tree shaked away during production build so the size is not a big deal
I got that 65kb figure by running a production build on a freshly installed Angular CLI app.
yeah tbf you are going to add more packages to get the equivalent angular capabilities
exactly
65kb is no big deal. Most web apps these days are several mb anyway, so that’s only a fraction of the size.
Does it not tree shake?
One of the UA-cam rabbit holes I've been going down lately is UA-camrs using lightweight Linux distros to revive 20+ year old computers. Almost always, the distro and almost all native software performs beautifully on these old computers. The two things that are very slow? Modern games, but that's to be expected on an old computer. The second? Web apps. This is a state of emergency as far as I'm concerned because every app creator wants their apps to perform well on old hardware and slow internet connections... because you want your apps to be accessible to as many users as possible. And really, most web apps are basically just text, buttons, and forms.... what real reason is there for text, buttons, and forms to perform badly on old hardware?
You know what is the most efficient technology for the web? Hypermedia i.e HTML. Nothing much has changed for 30 years.
Big agree here. I think the foundations of the web don’t make for performant web apps. A different set of standards designed with web apps in mind from the start would be much better.
I honestly care only about a few things:
- no corporate BS pulling ropes, I don't like rug-pulls
- no v-DOM because having wrappers etc is just a PITA
- possible to run without a build step (because this is where legacy comes from)
- no need to update the thing every X weeks because of some reinvent-the-wheel random decisions
- no bizillion abstraction with lackluster documentation
Hence I think that using Fresh by Deno (Preact behind the curtain) sounds like the most healthy way of dealing with all of this mess while caring about Web Standards. Hopefully Vue3 with Vapor gonna remove the need for the v-DOM too.
The rest don't really check any interesting box to me.
Qwik sounds nice.
I see the appeal for Solid too.
While Astro is dope as usual.
Well said.
just look at HTMX, use the dom the way its intended, and use javascript the way its intended. Nothing difficult about hypermedia and yet somehow we have decided to abstract everything away just to create complexity in the stack
Grass is green because it's under developed. I believe everything reaches about equal level of complexity when it matures.
I'm using Astro and Solid for my frontend. Astro is really flexible, and it's being developed very quickly with good support all around. The fact that it doesn't lock you in to any JS framework is a plus.
Solid is smaller, but a better and less confusing React. Even though the ecosystem is small, writing things from scratch in Solid is way easier than React because you won't encounter half the bullshit that React causes (damn you useEffect, useCallback and component rerenders), and using vanilla js library with it is also easier. Solid is a relatively simple framework because it simplifies React API, so you can hire React devs and work in Solid day one.
Programming is a trap.. you become a slave to the tools.
The tools change constantly, you can barely catch up, and when some of the tools (libraries, languages) become obsolete then you're screwed and you have to move on and learn another set of tools.
IMHO, programming is rewarding only if you're doing it for your own personal projects not as part of a corporate structure. 🤷
That's what happens if you dont dive deeper. The ever changing tool was made by some group of developers
that's why they need to be development around vanilla js, css
@@User948Z7Z-w7n That is why I am going to learn c/c++ and wanting to touch on assembly + systems programming, or if required for a project vanilla js + function wrappers around document.addEventlistener() and the like to make it all less verbose :) I don't know why I haven't heard anyone try that
That's why I got a job as a Cobol developer
Vue is great. I hope more companies give it a chance. I had to go back to React after 2+ years working with Vue and I hate it
I've said this before and I'll say it again. A non-js backend and vannila js is all ya need. It's 2025.
There is an argument to be made for larger teams working with Vanila JS who will always end up creating internal abstractions, rules and constraints.
Using a lightweight framework (like Solid for instance) ensures some of those internal abstractions and decisions are following the standards most of the community agreed are good enough.
Angular's opinionated nature = fewer arguments, faster decision-making, and a more cohesive dev experience. For enterprise projects, this isn’t just good-it’s a game changer.
Comparing Angular's size to React or Svelte? Total apples-to-oranges. Angular comes with everything (routing, pipes, DI, forms, etc.), while React/Svelte are minimal by design and rely on third-party libraries. By the time you bolt on React Router, state management (Redux/Zustand), etc., the sizes are comparable-if not larger.
The 'heavier size' is simply the cost of Angular being an all-in-one solution. It saves devs from wasting time picking random libraries.
As for older projects stuck on legacy versions? That’s less about Angular and more about a skill issue. Many of these projects are already scaled down with no capacity for updates. 🤷
Angular is opinionated - but its also meaning that finding angular devs is harder
Angular size - For quick testing even just angular/core is larger then svelte, solid or vue with routing and forms. React is huge on its own
All-in-one solution - but is also mean that you need to learn angular-only solution. Many libraries are now framework agnostic and angular opinions make it harder to use them
older projects stuck on legacy versions - its more just conservatism in code. Why use signals when decorators do they job
I write this not as a person who dislikes Angular, but quite the opposite. As a person who likes Angular and cannot use it at work precisely because of what culture Angular comes from
Fortunately, Vue “originate” from Angular so it finds a substitute in it
Svelte is easier to work with & its performance is better than Angular
You are talking like VueJS doesn't exist, or that all companies need all these "features" out of the box!
Additionally, more opinionated = less opportunity for you to grow as a developer, you are only learning how to use the tool, not learning actual development, because you don't really need to think about all the details of achieving a task! Instead, you just need to remember how company [x] told you to do it.
@@mohamadybr Good points, but let’s unpack them. First, Vue does exist, and I respect its flexibility-great framework. But it also falls into the 'minimal by design' category, requiring plugins or additional tools (e.g., Vue Router, Pinia) to achieve parity with Angular's feature set. Not every company needs all-in-one solutions, but for enterprise teams, where scalability, onboarding, and predictability matter, having a cohesive ecosystem is a massive win.
As for opinionated frameworks limiting growth? I disagree. Opinionated frameworks teach design patterns and best practices (e.g., DI, reactive programming with RxJS in Angular). They force you to adopt a structured approach, which helps immensely when you’re part of larger teams or scaling a project.
If you really want to grow as a developer, understanding why these patterns exist and how they’re applied is the real challenge-not just reinventing the wheel on every project because a framework gives you too much freedom. Learning ‘how to think’ isn’t exclusive to unopinionated tools; it’s about how much you dig into the why of the framework you're using. 😉
@@untlsn I get why Vue could feel like a natural middle ground-it's less opinionated but still structured enough to avoid total chaos. But to me, Angular’s 'culture' is its strength in enterprise settings: predictable, scalable, and enforceable. Sounds like your work environment might favor flexibility over that structure, though!
I agree about the hiring difficulties, but while it narrows the pool, it also ensures a higher baseline of expertise. The devs you hire are less likely to reinvent the wheel. (Still happening though)
Honestly kinda burnt out from web dev time to try something new.
Try game dev. Oh wait...
I recently posted a video exactly on this topic: ua-cam.com/video/GSYVgYbXwrE/v-deo.html
as a java developer front end framework make me think frontenders lost a few screws from the amount of subframework one needs to build a single hello world.
@@emaayan yeah, in Java you only need a LocalizedHelloWorldStringFactoryInstanceProviderServiceLoader to do that.
@RedShift5 not really, locale is default, string is immutable so it don't no factory, and hardly anyone uses sevice loaders,
meanwhile for a front end project your need a webpack, a linter, a package manager, a ci framework, unit testing framework, a markup language mixed with js mixed with some other languages and each has it's own meta language, and by the time you finish learning one 5 others pop up, that's what i learned from a starter generated webproject and i'm not the only saying this, it's nuts and frustrating.
What are you talking about? These are frameworks which you can pick from. You don't mix them up. Just because you are uncomfortable with different stacks doesn't mean others "lost screws". You guys have Spring, Micronaut, Quarkus etc... The Java ecosystem also has opinionated wars just like the frontend world.
@@noherczeg i know, but i don't need spring or micronaut for a hello world, but when i just wanted to get bare bone minimal required to build a page of a hello world that was what thrown on to me, to my knowledge the java backend is ruled by mainly spring which i have to say sounds more like hogwartihan annotation (always seems to have one more annotation) , the only time i actually felt happy about the web is when i touched a little vaadin. but everyone looks down on it.
opinionated WARs? , i see what you there ;)
Nice vid. My favorites are: Angular for company projects and Svelte for personal projects.
Personally what I miss in React / Solid is that they lack any scoped CSS solution (ideally collocated) out of the box I would find convinient, CSS modules seems obnoxious to me and tailwind is not very suitable for more complex styling, however I find this to be a very subjective topic.
agree, the scoped css in Vue, Svelte and Astro give me more comfortable to work with
That's to blame CSS not React, because in React Native the out of the box solution does exactly that for you. The reason React web doesn't is because it needs to be compatible with pre existing standards. You can use React Native to build web, android, ios all at the same time so try that (with expo).
All these frameworks are just too much. Are we really learning how to code or just learning a new framework new devs should just stay away. Learn MVC build some real stuff then and only then spend time in the endless pool of framework.
That was a very long and informative add to Scrimba. Well done !
Haha :)) Thanks!
php + web components for me, those "frameworks" are very unecessary for my job
Remix, or now React Router v7 Framework is the most underrated, yet fantastic !
Svelte is my go-to since 2019
I used Angular and svelte (took stay away from react approach).
Angular was complex and you have to add so many imports etc and in 2021 I started using svelte(v3) and liked it more.
v3 and v4 have some issues with reactivity, i faced them in mid size projects and v5 fixes many of them.
Still going with svelte v5 and I'll choose svelte other frameworks.
I agree with Job and market but I don't agree with small eco system. I haven't faced that issue except for once. I was not able to find a good wysiwyg editor integration but same time i was able to do it with provided guide of wysiwyg editor the way you need to add in JS.
Just ppl use word ecosystem when they mean community
Yes solid and svelte community is small. Because there are not that many jobs, tutorials, senior devs
But certainly there is no need to be discouraged, but rather to increase this community itself
@@untlsn yes
Vuejs is now funded by Accel, so the first argument against Vue is not up-to-date anymore. Good video thank you!
Seriously? Is this official - I didn't know about it. I know they have various sponsors, which is a bit different compared to being an internal dev team at Google / Meta.
@@awesome-coding Actually they openly said before without monetization there will be no development
Vite not Vue
@@QueeeeenZ I stretch to the conclusion that voidzero fundings will help the vue ecosystem more or less directly but you did well to precise it!
Anyone saying that React RSCs are more complex than the old SSR models doesn't understand them yet. Switching to RSCs using NextJs app router made everything in the stack so much easier. Instead of using 5 libraries for managing different complex steps of getting and syncing data between FE and BE, you can now write it all yourself using very few primitives. And I've used app router with RSCs in basically all of it's "versions" (and yes it's still very much changing and evolving) and it just keeps getting simpler with every major update (such as the "use cache" with PPR and dynamicIO).
I just want HTMX to lead the pack in frontend. Why abuse js so much when we can use actual server side actions to give us partials, whilst using js to do the thing its good at; DOM manipulation.
we have shoehorned js into this weird amalgamation of whatever it has become because developers just simply think its the best tool for all the jobs.
Right, but I believe with HTMX we are moving some of the DX issues back on the client. As you said, all of a sudden I have to worry about templating and partials on the server.
But, I agree, and, as I said in the video - there is no magic bullet. Some frameworks are better suited for some use cases.
@@awesome-coding I think that templating on the server isnt necessarily a big worry to have, and if it is a worry to have, then I'd rather worry about that (a thing I have more control over) than hoping a framework (or meta-framework) has implemented something properly. The amount of footguns javascript has (and thus by extension all these frameworks) is insane to me that we even allow this to happen in the industry. If I want to shoot myself in the foot, then at least I want the freedom to also prevent it from happening. It's why I'm making the jump away from web development into systems and lower level languages.
TypeScript cant change the atrocities that JavaScript allows for and as its just a superset of js, it will never evolve and it will always need to conform to the language standards of js. Which is a shame to put it mildly.
I whole-heartedly believe that nodejs (and thus by extension bun and deno but they do seem interesting to play around with) was a total mistake. I believe the deterrence of "js on the server" and using it for what its meant to do is the only step forward into building a brighter and better future for the frontend eco system. I am grounded in the fact that the complexity of the frontend development cycle is unnecessary and dare i say even destructive to the eco system.
We have core contributors to language specifications talking about "resources are free and infinite" and then we wonder why our normal "enterprise" CRUD app eats 4gb of ram from the browser alone on a client (and its sure as hell not "chrome eats ram lolol" but pure slop and bloat)
Anyhow, not to rain on your parade because the video was great and i enjoyed it! Just thought its an interesting conversation to have
@@mikkurogue Do you know JVM eats far more memory than JS? Java is the goto enterprise backend stack
@@mikkurogue js is a bad language but incredible optimization that goes into the engine makes it up. Your take is really naive. That's like seeing python but not seeing the cpp cuda library behind the scene
@ the engine doesnt still justify its still a relatively slow language. Python isnt faster because of a cpp cuda library. Nor is javascript supposed to be excused for its poor resource management and performance just because the engine is well optimized. I agree that the engines are a marvel and a great bit of work but it doesnt excuse js being a god awful language. I mean all numbers are 64 bit signed integers, why does every number take 4 bytes when most apps can get by with a maximum of 32 bits quite handily. If we had more finegrained options for these things then js would be a wonderful experience
Thanks for video. It's a great overview. I want to mention, that all those issue of the framework arize only in specific situation - when the app is already huge. And somehowe people still are lokking for another framework to solve it. And they skip over micro-frontends. A simplest version of which is separation by pages and connection of a js file. Once app is splitted - there is no difference which framework to use. And business can safely try new tools and rollback is needed. And it doesn't require webpack module federation - it's already an optimisation. So from all this video only Astro makes sence as it suports multi-framefork solutions.
I Clicked bcz I thought it was fireship
Same here. 😅
😂
Clear and well-made video. Bravo! 🎉
Glad you liked it!
htmx I think 🤔 s probably the most scalable but I feel like htmx allows you to do some things that make maintaining your codebase really difficult
Exactly - you are pushing the DX issues form the frontend to the backend templating system.
drawback of GenAI is they are trained on older data so it will hallucinate and give incorrect output result of that people choosing frameworks who is supported in by the GenAIs
5:13 thats so true. Even if they offer tools for update, it’s still a mess
I know, right? :(
8:44 "Frameork" fluent, oops!
It looks like my long standing tradition of misspelling at least one word in every single video will continue in 2025 as well 🤦♂️
@@awesome-coding 2 words, unless you really meant RFC as in Request For Comment at 4:15
Have you tries phoenix with elixir?
Do we really need a js framework for large applications?
use vanilla Js & be turtle in the field
@@Nobody-eg4bi 😂😂
if u want to be turtle then u don't need..
nope. only use a framework if you really need it. otherwise go without and keep it simple.
Short answer is NO, but you don't find a lot of experienced Vanilla JS developers that shares the same approach on solving a problem, and creating a large and modular vanilla JS project is a pain! Save yourself and your team the time and the pain and use a framework instead.
I just want to shout out AlpineJS and the alpine-ajax plugin as a stand-in for HTMX
what are the percentages? they don't add up to 100
the amount of people questioned who are interested / used in a specific framework.
If you used both React and Angular you would say yes to both, hence the percentages not adding up.
these are the percentages of surveyed devs who have used/are interested/are satisfied with a framework. Many people have used more than 1 framework, that's why it doesn't add up.
At this point, the entire JS ecosystem feels like a marketing stunt to sell some other cloud service to host said JS. Development shouldn't be this overcomplicated.
Svelte 5 is backward compatible btw, so no breaking changes. And you can migrate your svelte 4 project with a single command.
As for the ecosystem, i guess you mean community? Because you can use almost any js library with svelte, we don't often need svelte specific wrapper for most libraries out there.
And the job market is tiny for svelte devs but for me, I picked svelte in 2020 and went freelancing.
"Svelte 5 is backward compatible"; It's not 100% backward compatible.
@babakfp Examples please
svelte is growing and framework like tanstack query supports it and it also has good styling libraries too. and I think upgrading from svelte 4 to svelte 5 is a lot less headache compared to upgrading from vue 2 to vue 3. though something like expo adapting svelte might be not likely to happen, I can learn kotlin and jetpack compose anyway and will thank myself in the future
Svelte 5 has the same compatibility issues. You can't use the old packages because they are not compatible with Svelte 5, and you can't use the new packages because they are not ready yet.
What could be a framework that does not connect to the internet? I am getting old I guess. When I was young, you just had to install the tools and that's it. Everything now depends of external libraries. I try to run some examples that were working a year ago, and always the error about is "deprecated". Wtf.
"Your competitive advantage will be to use AI efficiently, become fluent in all these frameworks and be able to easily jump in any type of codebase" 💡
great video although i should mention that "x thing would be overwhelming for new comers" is a bad excuse to downgrade angular or any other framework.
Sometimes, very rarely, there are silver bullets. When React hit the marked, it was one. It initiated a completely new way of thinking in self-contained components. jQuery also was such a silver bullet back when it was on the rise, because it created a unified, well thought-out DOM API that was shared across different browsers when their implementation still had lots of inconsistencies and differences. I haven't seen this kind of silver bullet recently. Outside of JS frameworks, tailwind comes close, but its approach is still not universal enough to work for almost everybody. HTMX, while taking a radically different approach, is also by far not universal enough. But even though it's absolutely not my cup of tea, it may be a great option for certain use-cases.
htmx isn't supposed to be an universal solution for every SAP framework. data-heavy network calls will benefit from using htmx. reactive client side rendering parts can be done with alpine.js. for me as a backend dev (C++/Rust), both libraries are the holy grail right now, because of the easy development process , the small maintainability effort and the fast learning curve.
Hey do you use remotion for animations of the videos😊
Hey! I am not. I'm using plain old Premiere Pro :)
And now to add to the mix: datastar (similar to htmx+alpine) just got into 1.0.0 beta. I think its genius
react is not a framework lol
React is completely reactive and moved the component lifecycle away from the dom updates which is exactly how it should be
6:56 I don't think that's a fair assessment of Svelte 5. It's to a large degree backwards compatible, Svelte 5 components can easily co-exists with Svelte 4 components in the same project. The friction was mostly about people not liking the $runes syntax. I think they're great, they've managed to further simplify DX.
You mean it's not 100% compatible. Which means people are going to face issues. The new reactivity system sucks because Svelte maintainers are out of touch and don't know what are the needs of the people that are building apps. Instead of talking with the community, as always, they did what they wanted and blamed the community when they said anything that the maintainers didn't like. Svelte 5 reactivity system if filled with foot goes non type safe code, limited and non-existing features.
@@babakfp I'm sorry for you, but my experience with Svelte 5 is the opposite. There's no such thing as a major version bump that's 100% backwards compatible, by definition. Yet you can still use Svelte 4 components in Svelte 5.
I really like angular, but following the data flow inside class components can be some overwhelming. I would love to see functional components in Angular.
The whole Vue v2 vs v3 is such a farce, a completely unnecessary self inflicted wound. The devs just couldn't help themselves trying to fix something that wasn't broken.
React is also usable for mobile native apps as well but how about the other JS libraries? I don't think you can use Svelte Vue Solid etc for a native app. Only a webview, maybe.
"mobile native apps"
@@kissu_io yeah as opposed to mobile web apps
React you write for 'native' apps isn't really the same React you would use for web. It's not like you can write a web app then compile/use it on a mobile device. Also, AFAIK with native one is basically forced to use proprietary libraries and services for authentication, deployment etc.
@@denissorn did you know expo supports web & native cross platform out of the box? The building blocks are different only if you use the basic building blocks from web
@@denissorn would you check bluesky repo becuz the whole web&android&ios is built with react native with 1 extra thin html file for compatibility
Astro is just too good! I've been using it with Starlight and it's just perfect!
I think you missed, imo, the most important factor for adoption of said frameworks going forward: AI tooling around them. People just want to do things fast, and no llm has been trained with svelte 5 code. I guarantee that over the next years, any framework that doesn't find a way to write state of the art framework code using tools like cursor, v0, etc, will be left behind.
you are right! I touched on the AI subject, but I usually don't get into a lot of details because people hate to hear that AI will do a lot of the coding instead of them :))
Well, good luck for AIs that trained with my code...
Yeah sadly most LLMs will ignore your instructions and just give you the React way of approaching a problem because there's just so much more out there for it to use as context.
He keeps ignoring HTMX tho.....
Who is? I have like 3 videos solely dedicated to HTMX on my channel :))
@@awesome-coding its a worthy framework isnt it? ( ;P )
Angular has never been unnecessarily complex, unless you're a noob that just work in small and/or simple projects. Other than that, you almost always need to organise your projects in components and modules, otherwise you're definitely not doing it right. All in all, Angular has always been the best in most cases, and now more than ever.
JS framework stories will never end.
I hope they won't. They are the bread and butter of this channel 😅
An AI coding model and vanilla javascript is all we need.
If we have different opinions and frameworks why would we agree about what ai suggests?
@@hombacom One can guide the AI to fit one's own needs and custom idiosyncrasies.
It should also be mentioned that this is mainly the US and, for example, where I live (Eastern Europe) finding React jobs is not easy. But finding Vue or Angular jobs are way easier. I would say 70% is Angular, 20% is vue
Fascinating - I'm from eastern Europe as well, and at least in my bubbles we have 60% Angular and 40% React.
@@awesome-coding
By US mainly I meant survey (most live in US)
Maybe it's Poland + east Germany bubble in my case
Or maybe because of current lack of jobs most react jobs are already occupied
Therefore, in Vue and specially angular there are still some jobs, because there aren't that many devs
i thought it was a fireship video
Next.js and React is the new PHP today.
:)) Fact. And PHP is the new JavaScript
I think svelte is the best front-end framework ever and the only preference for me to work on my projects if don't go with vanilla js + jquery. I don't know vue, I roathe react, i don't like solid because it seems like react and i don't like angular because it's opinionatedness, svelte is the only choice for front-end.
Preact.... This never ends does it
I am using HTMX nowadays 🎉
Safe and easy
can we have report like this on blaze ? it's interesting technology bring what i love most from c# which is type-safety , but few 3rd third party library support it :/
I'll do my best to get up to speed with Blazor
I don't like react and nextjs, but people criticizing server rendering are only revealing skill issues. Learn the damn backend
3:04 -- i burst out laughing at "react is not reactive"!
...i had to explain that to my jr dev, which is why i only run sveltekit 5 now. Svelt reactivity with a $ sign will alway equal more $ signs in my bank account.
Anybody else feel like there something wrong with this video.
Yes - it doesn't have enough views
@@awesome-codingyep
Leptos is all we need (rust full stack)
We just need to learn Rust first, which is pretty difficult :D
The wort part of JS frameworks is that we now have Senior {pick your FW here} devs, who are junior JS dev at the same time :/
(Almost) No one cares how JS or browser works, just deep into their FW.
@tomasprochazka6198 The worst part is, all of them suck in their own beautiful way.
People who are interested in learning Svelte don't; it's filled with issues, missing features, etc. Svelte maintainers are out of touch and the new reactivity system is garbage; You don't even know what is reactive and what is not without looking at the declaration; No type safety.
4:41 SIMPIFY, an API for simps?
just make react and next js standard and svelt a second option
Astro destroying next?? They don't serve the same purpose...
qwik update
let's go svelte 🎉
Worked with svelte for 4 years in typescript - the LSP is extremely slow and the IDE performance is terrible. Would not reccomend for entreprise level software.
?
sounds like you have an editor/editor plugin issue, idk maybe this is a bot
True. Their vsCode extension is terribly slow and buggy. Sometimes you loose type safety and need to restart vsCode. There are issues with their Prettier plugin too; Sometimes it takes a bunch of seconds to simply format a file.
@@Meleeman011 Nah man, the language server is written in typescript and it's horribly slow and buggy. It generates types in the background to resolve the types between your +server pages and your +page if you have a long tree of layouts that generate types, it becomes very apparent that it is a problem.
* Written by a hooman.
Svelte template syntax is awful. React is just JavaScript. Svelte is a made-up syntax that isn't even properly tape-safe in your code editor; In Svelte, Snippets are different than components meaning you need to learn a new thing that everything about it is different. Whereas in React, you don't have a new concept to grasp. The if/else etc blocks in Svelte are super ugly and hard to write whereas Angular does this better with a more JS-like and clean syntax. If you are using an icon library in Svelte, your site will get extremely slow and to solve it you would need to import the icons individually rather than using an index file to easily import them.
>qwik
qwik plus ai pretty good
You really don't need memes and stock footage every 5 seconds, it feels so cringy.
Thanks for the feedback!
lol, "getting old" = homeless camping guy at 0:24
you forgot mention best react lib react router v7
Or you can just use react
What about Alpine JS? It's a big part of the Laravel ecosystem.
Alpine is a good choice for MPA apps.
webshit brainrot is truly something special
You guys like hating on the web dev space, but all ecosystems are the same.. :))
Keep smashing the videos. Great data driven update!
More to come! Thanks for the feedback!
idk im learning low level languages
Which ones? :)
When it comes to JavaScript frameworks, the only reason React, React Native is highly used is due to is ability to interact with iOS and Android devices. But it’s nothing more than an abstraction layer that communicates with said devices, so it can be slower than Frameworks like Flutter. Nevertheless, PHP is the sleeping giant recapturing the market.
Php is always gonna be there for small businesses and freelancers. Deploying wordpress is cheaper than buying vps and deploying actual web app
React cuz job market
HTMX is a joke. There are better tools if you need what HTMX does.
still using old jquery .. only click the video to see the suspicious dog :p
haha nice!
I am going to Laravel
Good choice!
C# with web assembly is better ❤ than JS garbage
Props....Effective clickbait
React is not a framework, it's a library
Svelte has the most ugliest documentation font
😂
Absolute bloat. Why not just learn how to write vanilla css3 + js without a crutch, and in a way that is output like typescript. They are crutches for ppl that don’t even understand how the V8 Engine works in browser and c++ engine for css/animations.
How would you do templating, reactivity, CSS scoping, full-stack type-safety, etc, without frameworks?
@ how do you think the code runs in the browser? It actually executes typescript???
jQuery for life!
The real OG
"AI advancements..." hahahaha ok this is an unserious channel for unserious people
Sure buddy 👍
after jquery they were all shite
2:38 😂
✌️
Biased BS