Angular vs React vs Vue | Which Framework to use in 2020
If you are in Software Development world then you might have heard of the phrase that if you you want to improve your productivity then you should use a framework. The first thing that comes in mind is that what is framework.
What is Framework?
A Framework is a piece of software that help us to make a application so that you can only focus on High Level functionality without taking care of low level functionalities.
Why we use Framework?
Creating a software or app is a complex process. While creating any app we need to take care many features like designing, testing and coding, which leads us to take care of may thing like error handling, exception and many other factors. So Framework help us to take care of all these problems and issues. Some Advantages of framework are:
- Helps in practicing best coding practices.
- Uses Design Pattern
- Security
- Modularity
- Testing and Debugging is easier
- Time required for development is reduced to some extent.
So If you are a web developer then you would have heard of these 3 framework for web development
- Angular
- React
- Vue
So the main question arises is that which one to use in 2020. The upcoming blog is all about that and In the end I will tell you which one is my favorite.
If you check out job for web developer on indeed there are approximately 19000 jobs only in India, and it is 5500 for angular developer, it is 3800 for react developer and only 500 for Vue developer hmmmmmmmmmmmmmm.
Let get a Brief of these framework
Angular
Angular is a web development framework by Google. It was first released in 2010 using javascript and typescript as the main programming language.
React
React is another web development framework by Facebook. It was first released in 2013 using javascript as the main language.
Vue
Vue is a framework not owned by any big tech giants. Developed by Evan You in 2014 and one of the youngest member in family of web development. Javascript as there main programming language in vue 3 they are planning to shift to typescript.
Size (KB)
- Angular is about 500KB | Minified Size 252.2 KB
- React is about 100 KB | Minified Size 6.5 KB
- Vue is about 80 KB | Minified Size 63.3 KB
Github Star and Link
- Angular (61.5k Stars | https://github.com/angular/angular)
- React (149k stars | https://github.com/facebook/react)
- Vue (165k stars | https://github.com/vuejs/vue)
As we have seen that job for angular developer is high in market then react and least for vue.
Learning Curve
Angular has the steep learning curve. In order to master angular you need to learn concepts like MVC , MVVM and Typescript also.
React is to some point easier than angular but in order to use features you need to use other libraries and plugins.
Vue is one of the easiest to all the three framework to learn having the capability of being highly customizable.
Pros and Cons of Angular
PROS
- Uses typescript
- Use of CLI of modules and component development
- Detailed Documentation
- Binding makes app error free.
- Dependency Injections
- Structure and architecture
- Uses MVVM
CONS
- Lot of things to learn like Injectables, Pipe, Observable etc making it harder to learn.
- Slower in performance.
Pros and Cons of React
PROS
- Easy to learn
- Uses JSX for templating
- More focus on coding rather than framework
- Fast due to virtual DOM implemenation
- Support for PWA
- Data binding is one way
- Use of Redux
- Functional Programming
- Can directly be used to build REACT NATIVE APPS
CONS
- Mix logic for JSX
- React is moving away from class based component to OOP.
- Community is divided.
Pros and Cons of Vue
PROS
- Tiny Size
- Scalability
- Integration
- Detailed Documentation
- Optimized HTML
CONS
- Lack of Resources
- Risk of over flexibility.
Conclusion
It does not matter which framework you choose to develop any app. You should know each and every feature of that framework so that you can use it perfectly.
REFRENCES
Make sure to subscribe to my YouTube Channel :
And follow on Instagram:
Also on Facebook :
https://www.facebook.com/CodeCave-299370007293562
You can join my whatsapp flutter group the link is in the bio of instagram.