Learn React to get a job ( half of the jobs are for React, its better for getting a job ) Learn Angular to work in a big corp ( people that love Java aka big corps tend to prefer Angular ) Lean Vue because its easier and you can build more things faster ( best for entrepreneurs ) PS.: Learn anyone to be honest they do the same, but go deep into it
Learning curve depends on the developers experience, if you already know C#, Java then Angular will be familiar and easy to understand, back in 2015 I was using PHP ,becoz React was so complicated for me coming from Java. Javascript is easy to get started, but very complicated. Vue is great for beginners, I use Vue for small projects and Angular for large apps.
Started with vanilla js, JQuery and php before moving on to Angular 8. I still remember the sleepless nights, there was so much stuff to learn. Fast foward six months and Angular was the best thing that had happened to me. I had been able to churn out complex websites with very little time and very well structured code.
I'd like to ask without watching 4000 yt videos that how vue escapes from re rendering? I'm really pissed with react's re rendering, it's confusing and always breaks my code.
@@amans6504 it's not essentially something you should be concerned with since there's a diff algorithm behind the curtains which does all the "magic" by itself unlike React which is simply, a hot mess. That way you have more time to develop the actual application rather than beating your head against the wall
Unpopular oppinion: Angular code is much more organized in the sense of classes and separation of concerns. I kinda like that. I know you can organize Vue projects as well, but when I learned it it mostly ended in 500 lines of spaghetti code.
Hmmm my experience of 2+ years with Vue has been anything but what you described. Never fought so much with a javascript tool before except maybe React's useEffect hook than when using Vue. State management, refs, code organization at large scales, all fall flat for me. Then there's dealing with the ever increasingly complicated api including watchers (immediate & deep), inconsistent return values with refs, and now with Vue 3 there's even more nonsense piled on top. Hard pass on using Vue, seen it fail way too many times, watched as many JavaScript developers spend more time debugging issues with the tool than writing business logic (even seasoned developers with more Vue experience than I), and watching as the costs of using it are piling up where I work (and we have people that LOVE Vue and are devoted to doing their best with it). For the record, I liked Vue a lot when I started with it, but when real world enterprise requirements and working across teams came into the picture I've seen it just fail to live up to the hype time and time again.
I have learned everything with javascript, then jump to react, pretty easy when you have a good knowledge in javascript and software engineering in general. When I faced oak opportunity to work in angular, just reading the docs in two days is sufficient to jump and develop any project. I have a good exp with nest.js in backend, so angular was the same thing in principles Learned Vue two, and all the 3 frames work your away depending the type of project you are working. Even at back and I use ts, python, c#, go, it's all tools and it's your function to choose the best fit. At start, choose the easiest, react for front, express for back, both with typescript.
Master JS/TS and see how all three frameworks become easier to adopt. I don't get it when people say one is more complex than another. They are all the same stuff with different implementations mainly surrounding data binding. I have used Angular in enterprise, React in ecom and now using nuxt 3 in startup. Believe me they are all the same. One rule: anything that is easier to learn gets complex in scalable solutions. Choice is yours. My favourite is still Angular because it's way more structured, comes with everything you need out of the box and dependency injection!
I always feel iffy when people talk of learning JSX like its some hard thing to do. I believe if you know HTML, JSX shouldn't be a problem as they are almost the same. In fact JSX was made to make Javascript look like HTML. I never had a problem with JSX when I started learning React.
I know exactly what you mean 😞 I am inclined to agree with you, the syntax should be quite familiar. It just happens when you're learning JSX, you're probably also learning components, CSS in JS and one-way data binding in React. It definitely takes a mental shift. Not to mention, you'll need a transpiler (maybe for the first time)
When projects scale and the business logic becomes more complex you have to be very careful to organize your react code because it will become a hot mess in no time. Hence angular used in many enterprise software development projects.
Currently a trainee at a company as react developer, I don't have prior experience with react before joining the company but I can say for sure that either React is messy or just that my company doesn't know how to organise code or files or whatever. Man is it really necessary to jump from 4 to 5 files before performing a task. Sometimes I just question that if I am the one who is stupid, which I already am because of my current lack of knowledge but still..
Vue's a dream when enhancing an older site or migrating/updating an existing one. It's kind of a shame to not use it for that use case it's so simple and quick.
Im a product marketer at a fintech. We are migrating our site from php to vue. Im learning react currently and was wondering why they choses vue, sounds like this is it
It doesn't really matter how many jobs more important is how many developers per vacancy and average sallery. And in that regard Vue is better then React. It's easier to find a first job and it will have higher sallery then on React.
"The Angular way" Really, as if react and vue don't have a "way". Opinions is at the heart of everything the tech industry is about. "Angular suits big application really well". I don't know where this came from but it's a myth. Big companies choose to use it does not mean the same thing can't be built in vue or react, and they will work efficiently. I feel like it's an excuse people make to use React.
this is the best video I have seen on this topic so far. especially the learning part and their stability ... good points and concerns ... thank you so much
@@nyambe yeah that's a big advantage since you won't have to fight with other React developers. I also love Angular I find it so much organized and there's (almost) no need to worry about competition with other Angular developers.
@@unknownguywholovespizza I started with angularJS loved it. Angular 2 was a push back. Typescript was not as popular as it is now and that did not help. I use Vue because it fits how I think. love it
I am a react developer, and I learned the basics of angular. I would be very happy if someone who is an angular developer and who likes angular could respond to my reasons for for preferring react. I'm not trying to debate on which is better. I would be grateful if I was proven wrong if I'm wrong on any of my points. Why I prefer react, compared to angular: 1. I feel working in react makes me a better vanilla JS developer, which makes the skills I gain more transferable to other technologies in the JS world. As an example, instead of using *ngFor, a directive specific for angular, in react we use .map(), a method that is part of vanilla JS! 2. React is suitable for enterprise projects if the team implements good architecture and strict conventions. TypeScript has became a norm. 3. Apparently one advantage of angular is it comes with "everything you need". However, how true is that? Angular comes with the basic things you need, like routing. Even though routing is not provided by react, it is a convention that 90% of projects use the same tool (react-router-dom) for routing. If you are using SSR, you can specialize in a framework like Next.js and then, again, you only use routing built into that framework. It is not like 10 react projects use 10 different tools for routing. When we talk about more complex things, like graph visualization, angular, of course, does not come with a built in solution for this. In fact, angular does not even have its own state management - NgRx is not maintained by the angular team (just as redux is not maintained by the react team). 4. For more complex things (e.g. graph visualization) react has a greater amount of 3rd party tools available. 5. React has a stronger community (more tutorials, youtube channels, easier to find answers, etc.) 6. Angular is named exceptionally similar to angular.js, which makes googling for answers more frustrating. 7. Functional components make code cleaner and easier to debug (because of immutable state and pure functions). 8. Angular seemed as an overkill in some ways. As example, if we want to output a string to the html, and uppercase it, angular includes an "upperacse" pipe. Why does a pipe exist, when vanilla JS has a built in .toUpperCase method? One more thing I need to learn that is not reusable outside angular. 9. React Native 10. React has less breaking changes (I am not referring to transition from angular.js to angular2, but to transition from angular 2 to higher).
Valid points. First of all, I am not an angular developer but someone who likes angular and is interested in it and your comment had some valid points and I wanted to reply with my ideas about angular and react. 1. Yes, working with react makes you better at vanilla js, but I think that many young/jr developers can make simple and stupid mistakes while working in react if you don't know js very well, like when to use .map and when .forEach and what they do under the hood. Angular has built-in directives and pipes that helps you with that like you mentioned *ngFor *ngIf *ngSwitch which are statements in programming and everyone knows them. 2. I dont think React is suitable for enterprise projects, while Angular is. In React you are required to make decisions that maybe even you don't know which is better, because in react you can do one thing in many ways and each developer "has his own ways" of doing things, and in a big project you will find many patterns, many ways of implementing a feature which is not good for big teams and when a new developer comes in, he needs time to understand whats happening. Angular is opinionated, and tells you how things should be done, which imo is good for big teams and big projects because even new developers to the team will know what is going on. 3. Angular comes with a lot of built-in tools, like routing,httpclient,dependecy injection,reactive forms, cli, animations, directives, pipes and maybe more that I don't know. In React you have many libraries for forms,routing,fetching etc. In one way its good to have such community with tons of libraries but also enterprises don't want to relay on third party libraries and maintainers. In REact you have redux,xstate,zustand for state management while in Angular pretty much one option ngrx. 4 & 5. React definitely has more libraries than angular for almost everything, and has a massive community, but also has new developers who immediately jump into react without properly learning js/ts. 8. Angular can sometimes be an overkill because has a lot of tools and a lot of things to learn, but once you learn then you will not have problems with it. 9. I also like React Native, which in Angular world you have something like Ionic. But at the end of the day, the better option is with native code like Swift and Kotlin for better user experience and performace. These are my opinions and sorry for bad english. I also do like React and there are so many good engineers using React, but I don't like React developers who know nothing about Angular and they just heard that is bad and complex or whatever and say that none should learn it. Again, I think like this and I could be wrong and I'm not a Angular developer but someone who likes coding in it and appreciate the tools it offers you.
@@albinhalitaj3326 Hi! Thank you for your great answer. I, as well, am interested in angular. However, you know how it is... you have to pick something to get excellent at, and doing a bit of everything is not really too profitable (although, it is fun). That's why I wanted to find out more about this topic. You definitely make some valid points. 1. This never crossed my mind. I come from years of vanilla JS experience, so seeing .map in react was a breath of fresh air for me, as opposed to v-for or *ngFor in Vue / Angular. However, I do understand that a lot of devs who are learning react do not really have the experience of using .map or .reduce on a daily basis. So a very valid point. 2. I don't fully agree on this point, but I respect your point of view. I think adoption of TS and frameworks like Next.js brought react quite close to enterprise projects. And, as with every technology, you can have shitty or good code no matter what the stack is, so although angular has the advantage of naming conventions and some patterns, it's far from being a guarantee of quality. 3. True. Analysis paralysis. Too much choice can lead to decision fatigue. The only point I would respectfully disagree with is your first sentence. E.g. http client - I actually like using fetch (native to vanilla JS) in react. Dependency injection is something I am a HUGE fan of. However, it is achieved in react with hooks (custom hooks & context in react achieve same result as services in angular). Regarding routing I already talked about that. And regarding other things (e.g. form validation, animations), I am one of those devs that really enjoys writing those things from scratch (with JS and pure CSS). But yea... I guess most people would use a dependency for them, so... it is beneficial if those common things are always the same. However, using angular http client over fetch, for simple API calls, still rubs me the wrong way. 4. & 5. That is the way it is. Good for them, I hope they learn as much as possible fast. But yes, my recommendation to anyone would be to spend 1-2 years with vanilla JS before touching ANY framework / library. After that learning any tool is quite intuitive. However, you could also argue that for inexperienced JS devs it could potentially be more "dangerous" to start with angular - as it teaches them things that are not usable outside angular. Thanks for the great discussion! :)
React is for simple students projects Angular is for companies which can easily divide work between many developers working on the same project due to its structure (modules, components...) it is just easier
Hi! Alex from the video here! If you're interested in learning more about these technologies and particularly React remember to check out Scrimba: ua-cam.com/users/redirect? Now you've watched the video. Which frontend framework will you learn?
Such an informative video. Thank you for sharing the differences between the three main frameworks Angular, Vue, and React. Keep sharing more videos regarding mobile Apps and their frameworks. Keep sharing!
Here in South Africa, from my observation, Angular has the most jobs, then React, then Vue. Some jobs might recommend you should know either one of two frameworks (e.g. Angular or React), and some others still might require you to know two frameworks (e.g. React and Vue).
Good video. Great video actually. When it comes to personal projects, react all the way. When I'm working with 10+ other devs, I'd rather do it in angular. The structure of React projects can differ from company to company but angular projects from one place to another will have a consistent structure
in my experience, those who loves react or vue are usually monkey coders who just put stuff wherever, whenever, not giving an F about maintenability or separation of concern. but then again thats what make it easy for begineers. yea i said it come at me. *trolling but has some truth to it
Angular is a decade ahead of all the existing options. The only problem with the framework is the people learning it. Any serious business uses angular, for escalability, flexibility, support, maintenance, community l, etc
I think you're right, Angular is more favourable in enterprise companies. Still, every enterprise starts somewhere! And React and Vue seem more favourable in start-ups.
What brain-dead statements: "Angular is a decade ahead . . .". You are only a "serious business" if you use Angular. You just gave away the fact that you are clueless.
Angler is it that difficult to be honest I thought the angler was the easiest framework after learning HTML, and CSS and JavaScript, because each component has his own HTML,CSS and type script embedded within it so it’s not that different from vanilla JavaScript, HTML and CSS
I think the biggest reason to learn React is that it has the least amount of framework specific functionality. 95% of the code you write is just javascript. The problem with vue is trying to pocket dynamic functionality into various life cycle functions. The vue templating engine is also very limited in comparison with jsx. Plus, you are constantly trying to fighting components that do most but not all of your functionality. Angular is far too idiosyncratic overall to even be worth considering.
Amazing video! Really, it was so well done, easy to watch and most of all very informative. You also react... *badum psss* very well on camera! I have programming experience, but none around any of these, so all your points of view, helped me take a decision to go for React. Thanks!!
saying react is more stable is crazy, the went from function components to class components back to function components in 3 years And don’t even get me started with all the “concurrent react” fiasco…
Vue rocks, there are plenty of jobs no matter what you learn. If your a good developer you should be able to pick up whatever your jobs asks you to learn. I love NUXT but I also love Gatsby JS too completely diff frameworks but you SHOULD be able to build whatever you need.
Im thinking of going svelte, if i want to do freelance/junior dev as soon as possible should I go for react/vue? I am currently at my first year of college.
I went through the massive learning curve of Angular a few years back. Does that basically mean I know react now or what? I have a hard time knowing what I know after teaching myself Angular.
Seeing so much love for Svelte! Do you think it's a good first framework for new developers? In my humble opinion, since the other technologies are more mature, beginners are more likely to find tools, tutorials, jobs, and help when they need it.
FYI: A steep learning curve means something is quick to learn, as the X-axis is time and the Y-axis is knowledge acquired. A flat curve means it takes a long time to learn a little. But thanks for the video. Very useful.
@@spezzers88 Well, that's wrong :-). Look it up. A "steep learning curve" is a misnomer. And your axes don't really make sense. Y is a function of an X variable, so you are saying you deploy progress to get effort?
@@sardendibs You are right about the maths. I guess my point is that flipping the axis makes it a more relatable and effective communication device. Perhaps that’s why it became a “misnomer“, because it speaks to popular logic more than mathematic convention; the greatest struggle is on the steepest climb.
@@spezzers88 Yes, agree. That's the reason. It's more visual to see something "steep" in front of you. But I still can't bring myself to say it (-:, and I like the proper use, i.a. a "flat learning curve", as in it takes ages to learn. Only small returns on invested time. Like walking through a flat desert.
It's hard to manage html template in a large scale app It's so tired to think about hooks and rendering all the time So I go after Vue + Composition API + TSX, both 2 and 3
Fullstack development roadmap(for jobs) 1. SPRINGBOOT MICROSERVICES WITH KOTLIN/JAVA 2. NUXT 3 + PINIA ...or....Next.js + Recoil 3. GIT (and github actions) 4. FLUTTER (or React Native if you know react).....but knowledge of native like Kotlin/Android studio and C#/Swift would also be great 5. Database like SQL, NoSQL(MongoDB or Firebase) 6. Kubernetees 7. AWS 8. Redis Stack (optional) 9. Learn about PWA(Google Workbox) 10. Learn about Web Workers (checkout partytown as well) Please add on if I missed anything or correct me if i wrote something wrong
Angular by far. If you worked on an Angular project you can easily switch to another Angular project and be productive straight away. With React and Vue you just have a bunch of garbage code imported from everywhere all in the same file.
Sick of seeing wrong comparisons… react is a library! Vue and angular are frameworks! Don’t you get it? Basing your career on a library is dumb! The best framework is angular by a long shot. Vue is more friendly and some of its practices are dodgy like provide and inject. React devs are reinventing the wheel all day long.
Recat is acually bad to work with especially after they changed to hooks etc, it's a nightmare, vue is faster better structured less boilerplate sad that everyone goes to react because it's popular (because it replace angular js wich was a nightmare), if you have to do an insane big and complex project angular with angular materials remains the best long term, typed structured efficent and well maintained along the years.
I completely disagree about new developers not learning typescript because of "new challenges", for these reasons: 1. Typescript is used in all three Angular, React, and TypeScript. 2. Typescript is structured, an object oriented approach to JavaScript, and it's our dream come true for traditional unmanaged JavaScript code. 3. The first thing seasoned JavaScript experts say when they first learn TypeScript is that they should learned it a long time ago. 4. JavaScript is legacy. Typescript complies to JavaScript, and in the future, programmers will never write JavaScript directly again. So not very good advice there in this video. In my opinion, traditional unmanaged JavaScript is good to learn to understand the how JS works in its vanilla form. However, I believe JavaScript will likely fade completely from being directly written by programmers in the future. React, five years after it's initial release, officially adopted TypeScript in 2018 because it wouldn't have had a future otherwise. Same for Vue.js, adopted Typescript three years after it's initial release.
I’m new, but I feel like (after dabbling in all of these) that I need to just spend most of my time learning as much as possible about Vanilla JS. It seems like the more I learned about ES6, it seems like there are so many features that aren’t really that aren’t any harder to learn than the frame works. Once I learned how to make Web components with Vanilla JS, that it isn’t really that much more code, and seems like it would be less likely to break. Of course, I am pretty new though, so that’s just the way it seems at my current state. Anyway, great informative video!
vanilla js is the most important part. these are just tool in different flavours. you get hired because you know javascript not because you know a framework.
And also the mos numbers of competitors which is annoying. With angular, no need to worry about competition because everyone is misleadingly learning React
Learn React to get a job ( half of the jobs are for React, its better for getting a job )
Learn Angular to work in a big corp ( people that love Java aka big corps tend to prefer Angular )
Lean Vue because its easier and you can build more things faster ( best for entrepreneurs )
PS.: Learn anyone to be honest they do the same, but go deep into it
My website is based on vue + laravel
Typed out a comment, but then deleted it cause you just said it so much better. Juniors, i can vouch for this ^^^
I'm a happy employee who works with Vue.
@@ojvribeiro which version of vue do you use?
@@kennethisaac233 Vue 3 with :)
Learning curve depends on the developers experience, if you already know C#, Java then Angular will be familiar and easy to understand, back in 2015 I was using PHP ,becoz React was so complicated for me coming from Java. Javascript is easy to get started, but very complicated. Vue is great for beginners, I use Vue for small projects and Angular for large apps.
Started with vanilla js, JQuery and php before moving on to Angular 8. I still remember the sleepless nights, there was so much stuff to learn. Fast foward six months and Angular was the best thing that had happened to me. I had been able to churn out complex websites with very little time and very well structured code.
Especially when you add Angular Material and Angular Flex to it, there's nothing out there that can compete.
I will keep this comment in mind and come back when I feel the same🙏🏻
ok))) I will continue with sleepless nights also. I believe later on I will say exactly the same. I want to believe ... I really want to believe...
@@slavatischukany update
@@marijam.6172any update
Vue, you don't have to worry about re renderings, its way easier to use any managment store (pinia instead of redux), super easy to set up, etc
I'd like to ask without watching 4000 yt videos that how vue escapes from re rendering? I'm really pissed with react's re rendering, it's confusing and always breaks my code.
@@amans6504 Not sure personally. Hope @Damian Perez can chime in when they're around!
@@amans6504 it's not essentially something you should be concerned with since there's a diff algorithm behind the curtains which does all the "magic" by itself unlike React which is simply, a hot mess. That way you have more time to develop the actual application rather than beating your head against the wall
Unpopular oppinion: Angular code is much more organized in the sense of classes and separation of concerns. I kinda like that. I know you can organize Vue projects as well, but when I learned it it mostly ended in 500 lines of spaghetti code.
Hmmm my experience of 2+ years with Vue has been anything but what you described. Never fought so much with a javascript tool before except maybe React's useEffect hook than when using Vue. State management, refs, code organization at large scales, all fall flat for me. Then there's dealing with the ever increasingly complicated api including watchers (immediate & deep), inconsistent return values with refs, and now with Vue 3 there's even more nonsense piled on top.
Hard pass on using Vue, seen it fail way too many times, watched as many JavaScript developers spend more time debugging issues with the tool than writing business logic (even seasoned developers with more Vue experience than I), and watching as the costs of using it are piling up where I work (and we have people that LOVE Vue and are devoted to doing their best with it).
For the record, I liked Vue a lot when I started with it, but when real world enterprise requirements and working across teams came into the picture I've seen it just fail to live up to the hype time and time again.
I have learned everything with javascript, then jump to react, pretty easy when you have a good knowledge in javascript and software engineering in general.
When I faced oak opportunity to work in angular, just reading the docs in two days is sufficient to jump and develop any project.
I have a good exp with nest.js in backend, so angular was the same thing in principles
Learned Vue two, and all the 3 frames work your away depending the type of project you are working.
Even at back and I use ts, python, c#, go, it's all tools and it's your function to choose the best fit.
At start, choose the easiest, react for front, express for back, both with typescript.
Master JS/TS and see how all three frameworks become easier to adopt. I don't get it when people say one is more complex than another. They are all the same stuff with different implementations mainly surrounding data binding. I have used Angular in enterprise, React in ecom and now using nuxt 3 in startup. Believe me they are all the same. One rule: anything that is easier to learn gets complex in scalable solutions. Choice is yours.
My favourite is still Angular because it's way more structured, comes with everything you need out of the box and dependency injection!
I always feel iffy when people talk of learning JSX like its some hard thing to do. I believe if you know HTML, JSX shouldn't be a problem as they are almost the same. In fact JSX was made to make Javascript look like HTML. I never had a problem with JSX when I started learning React.
I know exactly what you mean 😞 I am inclined to agree with you, the syntax should be quite familiar. It just happens when you're learning JSX, you're probably also learning components, CSS in JS and one-way data binding in React. It definitely takes a mental shift. Not to mention, you'll need a transpiler (maybe for the first time)
Vanilla.Js to Vue. The journey is very smooth so far. Should be easy to learn frameworks like Nuxt.
When projects scale and the business logic becomes more complex you have to be very careful to organize your react code because it will become a hot mess in no time. Hence angular used in many enterprise software development projects.
Could not have said it better myself!
Currently a trainee at a company as react developer, I don't have prior experience with react before joining the company but I can say for sure that either React is messy or just that my company doesn't know how to organise code or files or whatever. Man is it really necessary to jump from 4 to 5 files before performing a task.
Sometimes I just question that if I am the one who is stupid, which I already am because of my current lack of knowledge but still..
One of the best reviews I have ever seen on the web. Good features comparison and reasonably giving the pros and cons of every technology.
I am using angular frame work for making websites since 2017 and it is good and very fast rendering the ui.
Vue's a dream when enhancing an older site or migrating/updating an existing one. It's kind of a shame to not use it for that use case it's so simple and quick.
Im a product marketer at a fintech. We are migrating our site from php to vue. Im learning react currently and was wondering why they choses vue, sounds like this is it
It doesn't really matter how many jobs more important is how many developers per vacancy and average sallery. And in that regard Vue is better then React. It's easier to find a first job and it will have higher sallery then on React.
React’s incompatibility and disregard for web standards should make it a non starter. Not supporting web components should make anyone steer clear.
"The Angular way"
Really, as if react and vue don't have a "way". Opinions is at the heart of everything the tech industry is about.
"Angular suits big application really well".
I don't know where this came from but it's a myth. Big companies choose to use it does not mean the same thing can't be built in vue or react, and they will work efficiently.
I feel like it's an excuse people make to use React.
Vue all the way...
I appreciate your vue on this.
@@bookercodes good one 😂
All day vue
this is the best video I have seen on this topic so far. especially the learning part and their stability ... good points and concerns ... thank you so much
I love react but I have to learn angular for my upcoming job not really a fan of it yet but it’s fun learning something new
RIP nigga jim
I'm learning angular now. You can plug me if there are available opportunities. Thank you.
There are more react jobs, but there are also more react programmers so you will have more competition
So go with angular no competition at all
@@unknownguywholovespizza Angular is still a sure bet, probably get paid more even
@@nyambe yeah that's a big advantage since you won't have to fight with other React developers. I also love Angular I find it so much organized and there's (almost) no need to worry about competition with other Angular developers.
@@unknownguywholovespizza I started with angularJS loved it. Angular 2 was a push back. Typescript was not as popular as it is now and that did not help. I use Vue because it fits how I think. love it
I know React and it is just enough for me. I am a Laravel Fan. :)
Hi Debjit! That sounds brill!
Why Laravel, and not Node.js?
@@karenmelikyan377 Just for ORM and PHP
@@karenmelikyan377 And I never used nodejs to build an api. May be next year I will try that.
@@karenmelikyan377 because he is PHP and React (two shit in one)
Once you go vue, you can never go back. I just hate how vue composition api looks so much like react
Love this video. Would you consider doing a comparison with Svelte too? Keep being awesome, buddy.
I am a react developer, and I learned the basics of angular. I would be very happy if someone who is an angular developer and who likes angular could respond to my reasons for for preferring react. I'm not trying to debate on which is better. I would be grateful if I was proven wrong if I'm wrong on any of my points.
Why I prefer react, compared to angular:
1. I feel working in react makes me a better vanilla JS developer, which makes the skills I gain more transferable to other technologies in the JS world. As an example, instead of using *ngFor, a directive specific for angular, in react we use .map(), a method that is part of vanilla JS!
2. React is suitable for enterprise projects if the team implements good architecture and strict conventions. TypeScript has became a norm.
3. Apparently one advantage of angular is it comes with "everything you need". However, how true is that? Angular comes with the basic things you need, like routing. Even though routing is not provided by react, it is a convention that 90% of projects use the same tool (react-router-dom) for routing. If you are using SSR, you can specialize in a framework like Next.js and then, again, you only use routing built into that framework. It is not like 10 react projects use 10 different tools for routing. When we talk about more complex things, like graph visualization, angular, of course, does not come with a built in solution for this. In fact, angular does not even have its own state management - NgRx is not maintained by the angular team (just as redux is not maintained by the react team).
4. For more complex things (e.g. graph visualization) react has a greater amount of 3rd party tools available.
5. React has a stronger community (more tutorials, youtube channels, easier to find answers, etc.)
6. Angular is named exceptionally similar to angular.js, which makes googling for answers more frustrating.
7. Functional components make code cleaner and easier to debug (because of immutable state and pure functions).
8. Angular seemed as an overkill in some ways. As example, if we want to output a string to the html, and uppercase it, angular includes an "upperacse" pipe. Why does a pipe exist, when vanilla JS has a built in .toUpperCase method? One more thing I need to learn that is not reusable outside angular.
9. React Native
10. React has less breaking changes (I am not referring to transition from angular.js to angular2, but to transition from angular 2 to higher).
Valid points.
First of all, I am not an angular developer but someone who likes angular and is interested in it and your comment had some valid points and I wanted to reply with my ideas about angular and react.
1. Yes, working with react makes you better at vanilla js, but I think that many young/jr developers can make simple and stupid mistakes while working in react if you don't know js very well, like when to use .map and when .forEach and what they do under the hood. Angular has built-in directives and pipes that helps you with that like you mentioned *ngFor *ngIf *ngSwitch which are statements in programming and everyone knows them.
2. I dont think React is suitable for enterprise projects, while Angular is. In React you are required to make decisions that maybe even you don't know which is better, because in react you can do one thing in many ways and each developer "has his own ways" of doing things, and in a big project you will find many patterns, many ways of implementing a feature which is not good for big teams and when a new developer comes in, he needs time to understand whats happening. Angular is opinionated, and tells you how things should be done, which imo is good for big teams and big projects because even new developers to the team will know what is going on.
3. Angular comes with a lot of built-in tools, like routing,httpclient,dependecy injection,reactive forms, cli, animations, directives, pipes and maybe more that I don't know. In React you have many libraries for forms,routing,fetching etc. In one way its good to have such community with tons of libraries but also enterprises don't want to relay on third party libraries and maintainers. In REact you have redux,xstate,zustand for state management while in Angular pretty much one option ngrx.
4 & 5. React definitely has more libraries than angular for almost everything, and has a massive community, but also has new developers who immediately jump into react without properly learning js/ts.
8. Angular can sometimes be an overkill because has a lot of tools and a lot of things to learn, but once you learn then you will not have problems with it.
9. I also like React Native, which in Angular world you have something like Ionic. But at the end of the day, the better option is with native code like Swift and Kotlin for better user experience and performace.
These are my opinions and sorry for bad english. I also do like React and there are so many good engineers using React, but I don't like React developers who know nothing about Angular and they just heard that is bad and complex or whatever and say that none should learn it.
Again, I think like this and I could be wrong and I'm not a Angular developer but someone who likes coding in it and appreciate the tools it offers you.
@@albinhalitaj3326 Hi! Thank you for your great answer. I, as well, am interested in angular. However, you know how it is... you have to pick something to get excellent at, and doing a bit of everything is not really too profitable (although, it is fun). That's why I wanted to find out more about this topic.
You definitely make some valid points.
1. This never crossed my mind. I come from years of vanilla JS experience, so seeing .map in react was a breath of fresh air for me, as opposed to v-for or *ngFor in Vue / Angular. However, I do understand that a lot of devs who are learning react do not really have the experience of using .map or .reduce on a daily basis. So a very valid point.
2. I don't fully agree on this point, but I respect your point of view. I think adoption of TS and frameworks like Next.js brought react quite close to enterprise projects. And, as with every technology, you can have shitty or good code no matter what the stack is, so although angular has the advantage of naming conventions and some patterns, it's far from being a guarantee of quality.
3. True. Analysis paralysis. Too much choice can lead to decision fatigue. The only point I would respectfully disagree with is your first sentence. E.g. http client - I actually like using fetch (native to vanilla JS) in react. Dependency injection is something I am a HUGE fan of. However, it is achieved in react with hooks (custom hooks & context in react achieve same result as services in angular). Regarding routing I already talked about that. And regarding other things (e.g. form validation, animations), I am one of those devs that really enjoys writing those things from scratch (with JS and pure CSS). But yea... I guess most people would use a dependency for them, so... it is beneficial if those common things are always the same. However, using angular http client over fetch, for simple API calls, still rubs me the wrong way.
4. & 5. That is the way it is. Good for them, I hope they learn as much as possible fast. But yes, my recommendation to anyone would be to spend 1-2 years with vanilla JS before touching ANY framework / library. After that learning any tool is quite intuitive. However, you could also argue that for inexperienced JS devs it could potentially be more "dangerous" to start with angular - as it teaches them things that are not usable outside angular.
Thanks for the great discussion! :)
React is for simple students projects
Angular is for companies which can easily divide work between many developers working on the same project due to its structure (modules, components...) it is just easier
student projects like Facebook, Instagram, Bloomberg, Discord, ....
@@mohammadalijafarzadeh3904 yeah lol
I use Vue, because of Inertia JS
This is hands down the best breakdown/comparison of the big 3 I've heard
I am in Dubai and here in Dubai Vue developers are in high demand.
But you have to be in Dubai right?
what's the average pay
A clear and concise comparison thank you dear and keep it up.
Hi! Alex from the video here!
If you're interested in learning more about these technologies and particularly React remember to check out Scrimba: ua-cam.com/users/redirect?
Now you've watched the video. Which frontend framework will you learn?
Such an informative video. Thank you for sharing the differences between the three main frameworks Angular, Vue, and React. Keep sharing more videos regarding mobile Apps and their frameworks. Keep sharing!
Here in South Africa, from my observation, Angular has the most jobs, then React, then Vue. Some jobs might recommend you should know either one of two frameworks (e.g. Angular or React), and some others still might require you to know two frameworks (e.g. React and Vue).
React for a job, Vue for ease of use and developer experience, Angular if you have to.
Angular is also great for a job
In my city we have a surplus of React devs but no Angular devs so if you learn Angular you have nearly no competition
@@flashback4588 and hence easy to get a job with it
@@flashback4588 what city? I'll soon start applying
Good video. Great video actually.
When it comes to personal projects, react all the way. When I'm working with 10+ other devs, I'd rather do it in angular. The structure of React projects can differ from company to company but angular projects from one place to another will have a consistent structure
Simple question. Learn all of them especially React intensively
thanks for the free courses, much appreciated
in my experience, those who loves react or vue are usually monkey coders who just put stuff wherever, whenever, not giving an F about maintenability or separation of concern. but then again thats what make it easy for begineers. yea i said it come at me. *trolling but has some truth to it
Angular is a decade ahead of all the existing options. The only problem with the framework is the people learning it. Any serious business uses angular, for escalability, flexibility, support, maintenance, community l, etc
I think you're right, Angular is more favourable in enterprise companies. Still, every enterprise starts somewhere! And React and Vue seem more favourable in start-ups.
@@bookercodes because of the learning curve
What brain-dead statements: "Angular is a decade ahead . . .". You are only a "serious business" if you use Angular. You just gave away the fact that you are clueless.
Great video...I plan to learn React as my first framework
Thank you Shemmy! That is so exciting!
Angler is it that difficult to be honest I thought the angler was the easiest framework after learning HTML, and CSS and JavaScript, because each component has his own HTML,CSS and type script embedded within it so it’s not that different from vanilla JavaScript, HTML and CSS
Thanks a lot. I was stuck with this decision but I think I have my answer
I think the biggest reason to learn React is that it has the least amount of framework specific functionality. 95% of the code you write is just javascript.
The problem with vue is trying to pocket dynamic functionality into various life cycle functions. The vue templating engine is also very limited in comparison with jsx. Plus, you are constantly trying to fighting components that do most but not all of your functionality.
Angular is far too idiosyncratic overall to even be worth considering.
So moral of the story is, React is best to learn and help me to land a job sooner than other frameworks.
Good luck working on that crap library!
Angular will get you job faster with bigger check. Don’t look at the number of jobs, look at competition
@@104kinoman Okk...I'll remember that.
@@bobarndt862 it's quite pleasurable
@@ElektrykFlaaj no jsx syntax is just confusing
learn svelte js. really love the style of developing with and take in consideration that the performance of it
Amazing video! Really, it was so well done, easy to watch and most of all very informative. You also react... *badum psss* very well on camera! I have programming experience, but none around any of these, so all your points of view, helped me take a decision to go for React. Thanks!!
Angular is used for enterprise large applications.
saying react is more stable is crazy, the went from function components to class components back to function components in 3 years
And don’t even get me started with all the “concurrent react” fiasco…
Vue rocks, there are plenty of jobs no matter what you learn. If your a good developer you should be able to pick up whatever your jobs asks you to learn. I love NUXT but I also love Gatsby JS too completely diff frameworks but you SHOULD be able to build whatever you need.
How do you find vue jobs?
Sad to see Svelte not among the popular frameworks 🥲 The developer experience and speed is unmatched in my experience
Im thinking of going svelte, if i want to do freelance/junior dev as soon as possible should I go for react/vue? I am currently at my first year of college.
Go for React
@@HariKrishna-mi6is
Why is that, please??
happy using svelte, simplest among all XD
Yesh that is true
Svelte.
It’s like Cinema4D, put the creativity first.
I like that comparison!
TypeScript syntax is like C# or Java like languages. If you don't care about growing, just stick with JS.
Svelte is the best.
I would say Angular no longer has any breaking changes these days. Not since version 6
That is a great point. If I could go back and re-record the video, I would mention that for sure!
Lol... That's completely false
Ivy Renderer is a breaking change
@@uziboozy4540 But you don't need to change anything from your code.
@@giocaonguyen Angular 14 is a breaking change and stable in v15
standalone: true
Without svelte a comparison makes no sense
Angular + Angular Material = 🚀
I went through the massive learning curve of Angular a few years back. Does that basically mean I know react now or what? I have a hard time knowing what I know after teaching myself Angular.
I feel offended Svelte is not included. :l
Angular is the best. There's no debate
Just changed my life wow
Angular. If you know JavaScript the learning curve is not difficult
Svelte for the win. If purely/only performance then solidjs.
All 3 with micro front end framework
Select them all plus svelte of course.
Vue got Nuxt and in the latest version it is as competitive as Angular..
Include svelte before react and after angular 😁😁
Seeing so much love for Svelte! Do you think it's a good first framework for new developers? In my humble opinion, since the other technologies are more mature, beginners are more likely to find tools, tutorials, jobs, and help when they need it.
Me with 8 years of experience watching this just because its kinda entertaining to see all these comparisons😂😂
FYI: A steep learning curve means something is quick to learn, as the X-axis is time and the Y-axis is knowledge acquired. A flat curve means it takes a long time to learn a little. But thanks for the video. Very useful.
X = progress, Y = effort
...that's how I've always understood it - i.e. a steep curve means difficult to learn
@@spezzers88 Well, that's wrong :-). Look it up. A "steep learning curve" is a misnomer. And your axes don't really make sense. Y is a function of an X variable, so you are saying you deploy progress to get effort?
@@sardendibs You are right about the maths. I guess my point is that flipping the axis makes it a more relatable and effective communication device. Perhaps that’s why it became a “misnomer“, because it speaks to popular logic more than mathematic convention; the greatest struggle is on the steepest climb.
@@spezzers88 Yes, agree. That's the reason. It's more visual to see something "steep" in front of you. But I still can't bring myself to say it (-:, and I like the proper use, i.a. a "flat learning curve", as in it takes ages to learn. Only small returns on invested time. Like walking through a flat desert.
nice job. thank you
It's hard to manage html template in a large scale app
It's so tired to think about hooks and rendering all the time
So I go after Vue + Composition API + TSX, both 2 and 3
Solidjs the next iteration of React
Angular all the way.
Fullstack development roadmap(for jobs)
1. SPRINGBOOT MICROSERVICES WITH KOTLIN/JAVA
2. NUXT 3 + PINIA ...or....Next.js + Recoil
3. GIT (and github actions)
4. FLUTTER (or React Native if you know react).....but knowledge of native like Kotlin/Android studio and C#/Swift would also be great
5. Database like SQL, NoSQL(MongoDB or Firebase)
6. Kubernetees
7. AWS
8. Redis Stack (optional)
9. Learn about PWA(Google Workbox)
10. Learn about Web Workers (checkout partytown as well)
Please add on if I missed anything or correct me if i wrote something wrong
In 2022, really? Without Svelte??
vue
Angular is my choise
It's reased 14 September 2016 not 2010
High package salary angular or react?
The correct answer was Svelte... Svelte. That was a trick question.
Svelte is the best framework!!!!! PERIOD.
So much love for Svelte!
This cap is Patagonia Argentina??
Pretty sure React and Vue are Libraries. The only Framework in your list is Angular.
Vue is a progressive framework.
Yeah, I tried hard not to mention terms like lib, framework, or progressive framework. Instead , I tried to present these tools in practical terms 😀
@@DePadreAHijo True!
@@DePadreAHijo yeah, that's true.
@@DePadreAHijo shed more light on this please
Angular by far. If you worked on an Angular project you can easily switch to another Angular project and be productive straight away. With React and Vue you just have a bunch of garbage code imported from everywhere all in the same file.
Vue + Django for me
Nuxt 3 > Nextjs > angular
No
mean?html css javascript is the must.Angular React Vue is a choice?
Angular ❤
Love me some shapes!
thank you
Svelte!
Sick of seeing wrong comparisons… react is a library! Vue and angular are frameworks! Don’t you get it?
Basing your career on a library is dumb! The best framework is angular by a long shot. Vue is more friendly and some of its practices are dodgy like provide and inject. React devs are reinventing the wheel all day long.
I was very intentional not to mention library, framework, or progressive framework.
I love Vue but dangit where are the jobs lol
Recat is acually bad to work with especially after they changed to hooks etc, it's a nightmare, vue is faster better structured less boilerplate sad that everyone goes to react because it's popular (because it replace angular js wich was a nightmare), if you have to do an insane big and complex project angular with angular materials remains the best long term, typed structured efficent and well maintained along the years.
tl;dw: Svelte.
I completely disagree about new developers not learning typescript because of "new challenges", for these reasons:
1. Typescript is used in all three Angular, React, and TypeScript.
2. Typescript is structured, an object oriented approach to JavaScript, and it's our dream come true for traditional unmanaged JavaScript code.
3. The first thing seasoned JavaScript experts say when they first learn TypeScript is that they should learned it a long time ago.
4. JavaScript is legacy. Typescript complies to JavaScript, and in the future, programmers will never write JavaScript directly again.
So not very good advice there in this video. In my opinion, traditional unmanaged JavaScript is good to learn to understand the how JS works in its vanilla form. However, I believe JavaScript will likely fade completely from being directly written by programmers in the future. React, five years after it's initial release, officially adopted TypeScript in 2018 because it wouldn't have had a future otherwise. Same for Vue.js, adopted Typescript three years after it's initial release.
I’m new, but I feel like (after dabbling in all of these) that I need to just spend most of my time learning as much as possible about Vanilla JS. It seems like the more I learned about ES6, it seems like there are so many features that aren’t really that aren’t any harder to learn than the frame works. Once I learned how to make Web components with Vanilla JS, that it isn’t really that much more code, and seems like it would be less likely to break. Of course, I am pretty new though, so that’s just the way it seems at my current state. Anyway, great informative video!
vanilla js is the most important part. these are just tool in different flavours. you get hired because you know javascript not because you know a framework.
You are absolutely right. Sometimes I wish I could read the comments before I record a video hehe. This is a point I would be keen to reiterate!
React is a Javascript Library, Not a Framework
React is not a framework...
Angular forever
I'm all angular
Learn React. It has the most jobs.
And also the mos numbers of competitors which is annoying. With angular, no need to worry about competition because everyone is misleadingly learning React
React is not a framework..just a library
For jobs React/Angular for simplicity Vue/Svelte
I think you nailed it!