React vs Angular vs Vue: What to Choose for Your Next Project

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
are you confused whether you should use angular react or view for your next project let me help you out in this short video I'm gonna quickly compare these three tools we're gonna look at their history their learning curve their stability their ecosystem and then I'm gonna tell you which JavaScript framework to use for your next project first let me get the terminology clear what is the difference between a library and a framework some developers use these terms interchangeably but they're actually different a library is a collection of reusable code that is used to solve common problems there are various libraries out there for solving different types of problems for example we have libraries for performing mathematical calculations we have libraries for machine learning and so on react is a library for building interactive user interfaces if framework on the other hand gives us a lot of reusable code just like a library but it also provides a structure or a skeleton for building applications so when using a framework we have to build our application according to that framework frameworks have opinions in terms of how we should structure our application how the application should get started how various components should interact with each other and so on angular and view are both examples of popular frameworks for building front-end applications now one of the questions I get a lot is mush why do we have to use a framework or a library to build an application can we just use plain old JavaScript the answer is yes you certainly can I so waste of time here is the reason imagine you want to build a desk would you buy pieces of wood and put them together or would you go to the forest and cut the trees first there is no reason to cut the trees when there are already pieces of wood ready for us to reuse we use frameworks and libraries to increase our productivity and speed up the development process there is a lot of code that is tested and is ready for us to reuse so this is all about libraries and frameworks now react angular and view are the top three tools for building applications these days but which one is better let's find out look at the results of this deck overflow developer server in 2019 that just came out here's the list of the most web frameworks and the winner is react it is closely followed by view this year and angular seems to be losing its popularity compared to previous years if you look at Google Trends you can see that react is the most popular library out of the three now let's have a quick look at the history of these frameworks angular is the oldest of the three it's developed by Google and was initially released in 2010 until 2016 it used to be called angularjs in 2016 angular team released angular 2 which was a complete rewrite of angularjs in fact it had nothing in common with the previous version of angular it was a completely new framework so to reduce confusion angular team decided to drop the jas from the original name and they call the new framework angular this made a lot of developers unhappy any applications that were built with angularjs had to be rebuilt with angular also over the last three years there have been several releases of angular and we have experienced several breaking changes as an online instructor this made me very unhappy because my angular course got outdated pretty quickly and I had to do a lot of patches to the course and at some point I ended up recreating the entire course from scratch but it came soon after the course got out data react is developed and maintained by Facebook and it's been around since 2013 currently it's at version 16 and it's being used by Facebook Twitter Netflix PayPal and uber to name a few it has a huge community which means somebody out there has already solved the problems you may encounter so there are tons of third-party libraries packages tools extensions as well as tutorials and courses view or view Jas is the youngest kid in town unlike angular and react view isn't developed by a big corporation it was originally developed by an ex-googler employee in 2014 and now it's maintained by a group of passionate developers even though it's a new framework it has gained a lot of popularity over the past two years now what about the learning curve the framework or library you choose should be relatively easy to learn so other members in your team can quickly up-to-speed angular has always been famous for having a steep learning curve because it's a full-blown framework or a complete solution there is so many concepts you need to learn such as directives modules decorators components services dependency injection pipes and templates after that there are more advanced topics such as change detection zones ahead of time compilation and rxjs the entry barrier for angular is clearly higher than for react there are so many things you need to learn in contrast react is just a library and not a complete solution so it has fewer concepts that you need to learn and understand react uses JavaScript XML or JSON HTML within JavaScript code so to get started you need to learn the JSX syntax as well as how to read components manage internal state and use props for configuration you don't need to learn a lot of new concepts since all of this is just plain JavaScript once you have learned the basics then you can learn about a routing and estate management library for building complex enterprise applications so the entry barrier for react is a lot lower than for angular and that's one of the reasons I love react if you know JavaScript well you can get started with react pretty quickly now if you wanna improve your JavaScript skills I have a tutorial here on my channel called JavaScript for react developers it quickly walks you through the essential JavaScript features that you need to know to build react applications I also have a couple of comprehensive courses on my website JavaScript basics for beginners and object-oriented programming in JavaScript so totally you have 12 hours of in-depth JavaScript training in front of you for a very reasonable price if you're interested the link is below this video now let's talk about view I would say learning view requires roughly the same amount of time and effort it's definitely easier to learn than angular some argue that is even easier than react but that's very subjective another thing to consider when choosing a framework or library for your next project is talent availability you want to make sure that you can easily find new resources to join your team with reacting the most popular front and library you'll have a better chance at finding react developers to I would say angular comes next and view comes last since it's still a new framework the other factor you need to consider is the stability of a framework you want to make sure that the framework or library you choose introduces minimal risks your development process the angular team have planned major updates every six months during this major upgrades you will experience breaking changes and you have another six months to make the necessary changes before the old api's are deprecated so that gives you a total of two releases or one year to make the necessary changes we'd react you have to worry less about this because Facebook takes the stability of react seriously big companies like Twitter and Airbnb use react and that's one of the reasons Facebook is reluctant to make any big changes that could impact these companies as per view 90% of the api's are the same if you're migrating from version 1 to 2 they also have a migration helper tool that makes it easier to migrate your applications now let's take a look at the open source community involvement in all these three frameworks something interesting to note here is that view has the most number of stars among the three on github but it also has the least number of contributors what it tells me is that people are interested in view but it hasn't gained the momentum that react and angular have gained in the open source community react has around 126 thousand stars which is a lot for an open source library this shows that people love react in contrast angular has only about 40,000 stars react also has a significant number of contributors there are over 1,200 developers contributing to react which is way more than view and angular now look at the weekly downloads react has the most number of weekly downloads with a whopping 5.2 million view comes second with 980,000 weekly downloads I was surprised to say that angular downloads have dropped significantly so based on the community and growth of frameworks react is at the very top view is liked by the community and upcoming angular on the other hand seems to be losing its spark and slowing down and the last thing I want to consider when choosing a framework is its size now I personally don't like to debate much on this because all these frameworks and libraries are constantly getting optimized but if curious you can see that angular is fairly large compared to react and view this is because angular is a full-blown framework it has everything you need from routing templates testing utilities and so on and that's the reason the framework size is big and not suitable for light weight applications react on the other hand is a library and not a framework this means you don't get much out of the box and you have to use other libraries for routing and state management this makes react small and lightweight so maybe you're building a small application that doesn't need routing then you don't need to bring in a rafting library or if you really need it you can always choose your preferred routing library you're not locked - what a framework gives you view is even smaller and also suitable for light weight applications if you're looking for an extremely lightweight option then pre-act is smaller than view and it's basically react with some features stripped out sell it to recap based on all these factors that we discussed in this video I would recommend you to use react to your next project because first and foremost it's a stable library and introduces minimal risk to your projects it's easy to learn it has a huge community which means it's easier for you to find developers who know react and there are tons of third-party tools packages and libraries for you to use if you want to learn react from scratch I have a comprehensive to our tutorial here on my channel you can see it over here I've also put the link down below this tutorial walks you through all the core concepts and react even though I made it last year in 2018 it's still valid and up to date because react is a stable library and you won't encounter breaking changes Facebook takes the stability of react seriously so watch this tutorial first but if you want to master react I have a complete course for you that is 12 hours long it goes far beyond my youtube tutorial and touches on concepts such as building complex user interfaces routing and navigation calling back and api's authentication and authorization handling and login errors and deployment pretty much all the concepts involved in building real applications in this course you will learn how to build a real video rental application with a node back-end this is an online video course just like my youtube tutorial and you can watch it anytime any as many times as you want you will also receive a certificate of completion at the end that you can add to your resume we even offer a 30-day money-back guarantee if you're interested use the link below this video to get the course for the discount just remember we have a limited number of coupons so enroll before the coupons run out if you enjoyed this video please support me by liking and sharing this video also subscribe to my channel for more videos like this and let me know in the comments section about your experience with any of these top three frameworks and your goals thank you and have a fantastic day [Music]
Info
Channel: Programming with Mosh
Views: 191,597
Rating: undefined out of 5
Keywords: react vs angular, react vs angular vs vue, react, react.js, reactjs, react js, angular, angular.js, angularjs, angular 2, angular 4, angular 5, angular 6, angular 7, vue, vue.js, vuejs, vue js, best javascript frameworks, javascript frameworks, javascript, web development, programming, programming with mosh, code with mosh, mosh hamedani
Id: i8xsbYgMiBs
Channel Id: undefined
Length: 11min 39sec (699 seconds)
Published: Thu May 09 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.