Should I learn Angular or React?
Tags: react, angular, javascript, typescript
Published: 2021-04-18 09:18:10

The ReactJS framework has received a huge amount of interest in developers from the starting of the 2019 till now. It is a very common question that arises in the minds of JavaScript developers to decide between Angular, React or VueJS. I am writing this article hoping that this article will help the new learners or JavaScript Developers to decided between which Framework to learn by determining the various factors.

## 1. Knowledge of JavaScript or TypeScript
**Good with JavaScript**
If you are a pure JavaScript developer and has a strong grip on the Basic JavaScript concepts such as Coercion, Type Checking, and Destructing etc. Then it is a good option for you to learn and keep moving forward with ReactJS. The ReactJS would seem a little bit of overwhelming at first but at the end you will feel more confident and easy in it and you will fall in love working with ReactJS due to its speed and simplicity.
**Good with TypeScript**
If you are someone who has worked a little bit of TypeScript, then it will be better for you to start learning Angular because Angular is based on the TypeScript and various annotations of the TypeScript. It will force you to implement the object oriented programming concepts as well. It will be better if you have some experience of working with Interfaces and classes.
![JavaScript vs TypeScript](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iaa3m6mhsylj1gi9zdr8.png)

## 2. Scale of the Next Project
**For Small to Medium Scale Projects**
If you are working on a project which is not large in size and the maintainability of the project is not that difficult then it a good option to select the ReactJS framework. Because this will make the development easy and effective. This will also make the maintaining the project very easy as well. The cost of building project will be dropped to a great extent as well.
**For Medium to Large Scale Projects** 
If you are going to build a project that will have a lot of modules, then Angular will be the better choice as it will allow the maintaining the project very easy. The Angular code will be much easy to understand and easy to edit as well. The Angular is a bit slower than the ReactJS, so keep this thing in mind as well.

## 3. Beginner's Friendly
**ReactJS**
Due to usage of very fundamental concepts of the JavaScript the ReactJS is very beginners friendly but with the increase in the size of the project, the code can become a bit difficult for beginners to understand and maintain.
**Angular**
The basic concepts of Angular are very beginners friendly, the concepts like data-binding, routing are very easy to understand as well. But some concepts like custom events creation and communication between different components can become quite difficult to understand at the first try.

## 4. Installing and Using the Third Party Libraries
**ReactJS**
In ReatJS, you have to install different kind of third party JavaScript libraries to complete your work. For Example the ReactJS does not allow the built-in form validation or routing you have to install the individual libraries for such work. So due to this reason the maintenance of ReactJS projects is very difficult because after some time the old libraries can become redundant and you have to work with new libraries.
**Angular** 
As Angular is a complete framework so you do not have to install the third party libraries to do the very basic works such as form handling and routing. All these kind of thing are already installed in the Angular so you only have to run a single command to get these libraries installed into the project.

## 5. Compilation Time
**ReactJS**
The ReacJS is a library which works on the concept of the virtual DOM, so when there is a change in the virtual DOM the actual DOM is changed according to that change. So, the detection of this change is very rapid which makes the change detection in ReactJS very fast and it becomes favourite thing for the developers.
**Angular**
The Angular is a Template driven framework which means that whenever a change occurs in any Angular file, then the whole website will be reload to make that change visible. This thing is very frustrating thing about Angular and many developers dislike this thing and it is a great challenge for Google developers who are maintaining the Angular Project.

**Final Words** 
It is not absolute that you should learn React or Angular or any other framework, all depends upon your mindset and goals you are working on, if you are looking forward to work with Bid and Enterprise level projects then Angular is good option. But if you are looking forward to work on Startup projects then React will be a great option for you. Stay Motivated and Keep on Learning new thing, because life never stops teaching.