Angular vs React vs Vue: Which Framework to Learn in 2022

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
as a new developer you often hear that once you learn the basics of html css and javascript that you should learn a front-end tool but which it's an interesting one actually because react angular and vue are quite unique in the sense that they don't just have users they have fans and actual advocates which i think is awesome i love that we as developers get so excited about our tools but i also recognize that as a new developer it can be quite tricky to make an objective decision around all the fanfare and celebration for these particular tools we want you to learn the right thing that's right for you and your goals not necessarily just what is popular which is why in this video i am going to break down the key differences between angular react and vue through the lens of a new developer before moving on to explore which has the most jobs how easy are they to learn how often do these tools change and updates at the end i'm going to share my recommendation for which i think you should learn if you're a new developer based on the facts and figures shared in this video let's kick things off with a quick tour of these three technologies and their key differences angular was first released in 2010 by google although it was first released under a different name which was angular.js a few years after 2010 and 2016 google basically rebuilt angular from the ground up tonight we are finally announcing angular 2.0 final they borrowed some of the terminology and some of the design patterns from the original version of angular but this new version was so different to signify to the developer community that this was basically its new own thing and you would have to relearn it from the beginning angular dropped the dot js parts it's cleaner what makes angular the most notable compared to its counterparts is that when you use angular you get quite a lot of features out of the box and then angular really wants you to embody what i will call the angular way you really need to adopt angular's project structure patterns and modules did i mention angular also requires you to use typescript which is a special flavor of javascript with its own additional learning curve of course angular wouldn't ask so much of new angular developers unless they were pretty convinced that their way was the right way and there were some significant advantages to be had the angular way takes some initial time to learn especially for beginners and people who don't know typescript already however as your application grows in complexity the angular way makes it much more likely that your project structure evolves neatly in such a way that you can continue to add bug-free features efficiently because angular suits big applications really well it's been adopted by some really big companies like microsoft and fortune 500 so you can be sure you will be in good company you might think that since angular is built by google the google.com and youtube would be built with angular but surprisingly that's not the case [Music] react.js was originally released in 2013 by mata formerly known as facebook if you compare react and angular by how many features they give you out of the box react has a lot less going on by default some people misunderstand that to mean that react is lightweight or more lightweight than angular but the truth is to build a comparable application you will typically need to install additional open source modules specifically built for react the difference is react doesn't really care which modules you use they don't provide many official ones meaning when the time comes to add a certain module you normally get three or four very popular battle tested ones to pick from and it's kind of up to you how you implement them in your application react is only concerned with structuring and updating your user interface out of the box since react is less opinionated or basically has no opinions about how you structure your application it's up to you to figure out how to structure your application in a way that it scales and is maintainable it's a bit tricky and it actually contributes to the learning curve but we know it can be done because mata themselves use react in many portions of the company including facebook.com moving on to vue.js which is sometimes considered to be the underdog among these free front hand web developer tools it was released in 2014 just one year after react by a developer who used to work for google on angular in practical terms react and vue are quite comparable in that they don't offer that much out of the box and are concerned only with updating your ui efficiently at hearts view is arguably the easiest of these free tools to learn as you can get pretty far with your existing knowledge of html and javascript without the need to learn additional things like typescript in the case of angular or even jsx in the case of react you don't necessarily have to worry about tools as well because you can link view via a cdn with just one line of html essentially however maybe it's because vue doesn't really have the backing of a big company like facebook excuse me meta or google it hasn't quite been as successful in garnering adoption in the job market and this is definitely something to keep in mind if your goal is to become a hirable developer [Music] with that in mind let's take a bit of a closer look at the job market as it pertains to these free front-end tools starting with angular there are plenty of angular jobs moving quite quickly onto react there are also plenty of react jobs i think it's fair to group these together due to their shared popularity and the same reason why they're popular basically companies think that well if this is good enough for google if it's good enough for meta then it must be good enough for us and they've adopted these tools in troves naturally the more websites built using these technologies the more opportunities for developers to get jobs maintaining and adding features to them i don't think it really matters like what new hot framework or tool or library comes out next because once these technologies have a foothold once companies adopt them they don't really change unless they have exceptionally good motivation it's expensive to start from scratch and retrain their teams reputation matters too and no matter how good the next thing even if it's actually better for developers it just won't have the same 9 to 12-year track record in the case of angular kind of unfortunately vue just does not have as many jobs in north america and the west it's a really interesting example because if you look at the github stars which is a measure of popularity vue has more than react at the time of this recording so the popularity of a framework might not actually be an indication of how it's being used in the real world and what jobs are available view came a little bit later than react and angular but not by much i would hypothesize that because vue does not have the same backing from big companies that hasn't been quite as popular with that said you should definitely draw your own conclusion based on your local job markets and your goals you know for example if your goal is to become a freelancer and you're building websites for local businesses they won't care what front-end tool you're using right and so this section is basically irrelevant in north america europe and other parts of the west especially react and angular dominate the search results on websites like linkedin and indeed which is a good proxy i think for their popularity that said you might find pockets within these markets where for one reason or another vue has been adopted more that could be your local job market you may also find that in other parts of the world vue has more adoption by companies who might not want to have ties with big western tech companies like google or facebook for example alibaba is a company that is quite heavily invested in vue.js maybe now you're starting to form an opinion about which might be best for you and your situation but let's keep going and explore how difficult these frontend tools are to learn most developers agree that angular is the most difficult of the free to learn or at least has the steepest learning curve due to the fact that you need to spend some time initially embodying the angular way plus probably if you're a new developer learning typescript as a reminder angular forces you to write your code base in a specific way that can be slow at first but makes you faster and more productive as your application becomes more complex or you start to work within a team and alongside other developers this can involve learning angular specific concepts like directives modules decorators components services as well as some other ideas like dependency injection pipes templates and that kind of thing you know a learning curve has a timeline at the bottom right and in fairness to angular with view and react as your applications become more complex you will have to learn additional modules to achieve some of the things that angular does out of the box you'll also need to make sure that you learn how to scale your code base otherwise you could end up shooting yourself in the first again in fairness to angular even though you don't have to adopt typescript with angular or view you can that is an option and in fact many developers especially on bigger projects choose to adopt typescript anyway for the benefits it affords react in comparison is quite plain and so if you have a pretty strong understanding of javascript and a good course at your disposal you can probably start to react quite quickly although react has less going on than angular out of the box you still need to learn some react specific concepts like states props and hooks in particular alongside a few other beds you will also need to learn a javascript add-on feature called jsx which to make that work you also need to learn typically some tooling like babel and webpack although for beginners there are boilerplates and scaffolders which set all this up for you without you needing to worry about what's happening behind the scenes moving on to vue i actually wrote a twitter post or thread about this topic recently and some new developers that follow me based on their experience really supported what i thought was true which is that view probably is the easiest to get started with there just aren't many jobs when it comes to syntax the only thing you really need to learn is views templating syntax which could be quite intuitive if you know html and or javascript you don't need to learn an additional tool like typescript or jsx which is quite nice as i mentioned before you can also reference view with a single line of code basically as opposed to having to invest in build tools like babel and webpack combined i guess you could call that a build tool additionally views single file components keep all your code in the same place making it intuitive to scale up your project since neither react nor view really force you to build your application in a certain way you sort of have to take the responsibility to learn how to structure your project in a way that it is easy to keep updating or bring on additional developers in the future remember a learning curve has a sort of time thing at the bottom right and it's quite easy to sort of ignore this but actually if you ignore it it will just end up taking even longer when you get it wrong and have to go back to the beginning all right let's talk about how often these tools are updated and what that means for you as someone considering learning them stability is really important because it ensures that the you know functions you're calling the libraries modules and even tutorials and things you reference don't become obsolete unexpectedly it's also necessary for these tools to update frequently enough that they continue to evolve with the web ecosystem and allow you to support your users needs as their demands on the web become greater it's a balancing act right and broadly speaking there are two types of updates there are updates where these tools add new features and you can install them and use them and learn them if you want but you don't have to then there are updates to either remove or fundamentally change things you were previously depending on it would require you to really learn a few new things and maybe rewrite parts of your application to adopt these updates as developers we call those breaking changes it's quite a strong word to signify for if you update without knowing what to expect you might break parts of your application you might remember from the beginning that in 2016 angular basically recreated everything and much to the dismay of course authors or code module authors or learners who would just learn angular they now knew that the thing they learned was more or less deprecated and to be replaced with this new version i think some developers perceive that as flashy which is why i think angular are now today very deliberate with their updates a breaking release happens at most every six months according to angular and even then they say in their documentation that it won't be that bad even if something does have to change they will normally provide you with tutorials documentation plenty of warning and in some exceptional cases tools to help make that migration easier from the very beginning react had this philosophy of being very stable as an api you have to understand that because mata used react in many parts of their company and indeed many parts of facebook if mata changed something in react they would then need to update all their applications in the company and so i think they feel and empathize firsthand with the difficulty of having to update a tool when there are breaking changes introduced although react does not have a release schedule like angular i would say that from the very beginning of react they had this philosophy about getting it right and then not changing it very much maybe because react has a more singular focus than angular this was a more viable philosophy view the underdog does not have a fixed release schedule either although you can typically expect new features every two to three months for the core that's good to know because it means view is evolving but these new features are not something you have to adopt and they won't break your applications what i can't say is in the i think eight or nine years that vue.js has been around they've only released two breaking changes right from view one to view two and from view two to view three and even then a lot of developers described for change between i think v1 and v2 is like 90 the same much like angular and in fairness react even though they don't have to because they don't break things as often uh they always provide a really pleasant update path including tutorials and in some cases tools you can be pretty sure if you're learning view but you will always have something quite cutting edge and with cool things happening around it but also pretty damn stable so you know i promised i would offer a conclusion based on my research in this video and i think i can put it quite simply when i say that angular has just too steep of a learning curve for most new developers i would not recommend trying to learn typescript along everything else because it can be super overwhelming and has its own challenges so that brings us to react and view but unfortunately you know vue just has not been adopted in the same way in the job markets and even though it's my belief that if you learn something like view you can probably learn react more quickly as there are some overlaps in the problems they solve and the concepts unfortunately when you're applying for your first junior developer jobs and i kind of know this by the way because i host the scrimba podcast where i speak with a lot of newly hired developers and hiring managers the kind of harsh truth is that many of the times you know hiring managers are connecting resumes to job descriptions and the keywords in them and really react will just give you the best chance of being hireable i didn't mention it in this video because i felt it would be a tangent but one nice plus of react is that there is also react native which is like a conscious effort by meta to help you convert your react applications into native looking and feeling applications which you can deploy to the play store or the app store on android and ios respectively just something cool to know and keep in mind hopefully now you have some opinion about which is best for you and your situation as it happens on scrimba we have courses about angular view and react although because we realize that our goal is to help developers become hireable and you have the best chance of being hireable if you learn react we've actually like hidden the angular and vue courses you can only find them if you google them but i have linked i'm proud in the show notes a link to our free react course with bob zarrow people really like it because it's interactive which helps you remember what you're learning and you build projects along the way so you have something to show employers in your portfolio the react.js subreddit are kind enough to feature us in their sidebar and if you just search around on twitter for like react scrimba you'll see hopefully all the really nice things people are saying in case you want some more sort of data points to make a decision about which course to invest in that's all from me in this video my name is alex booker thank you so much for watching if you've made it this far please do remember to subscribe to the scrambler youtube channel give the video a like and in just a second if you're still around you can pick from another video to watch [Music]
Info
Channel: Scrimba
Views: 80,666
Rating: undefined out of 5
Keywords:
Id: T2uKprwHHXU
Channel Id: undefined
Length: 17min 18sec (1038 seconds)
Published: Thu Apr 21 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.