JavaScript Frameworks

Karan S. Chauhan
4 min readJan 11, 2021

--

Ever since graduating from Flatiron’s software engineering program, I’ve been keeping up with JavaScript by building projects in React. Of course, I’m looking throughout the internet for opportunities, and I see many job postings that ask for JavaScript programming using the following frameworks: React, Angular, Vue.js.

As someone who’s been concentrating on React, I didn’t have much to say about Angular or Vue.js. And so… I decided to do some research about these frameworks and compare them.

I was really curious to know which is the most popular. I went to npmtrends.com and here’s the comparison provided.

According to this graph, React is downloaded more than both Angular and Vue.js.

With that, let’s start with React.

React is a front end, JavaScript library that’s used to create user interfaces. Primarily a developer will be creating reusable react components that comprise of inputs (props), producing react elements that are then presented to the user.

React is usually combined with JSX (JavaScript XML), an extension that allows the developer to create elements that have both HTML and JavaScript, making it ideal to use for modern web development.

What about Angular?

Angular is a framework that’s open-source and based on TypeScript.

Angular is a great tool to use if the project will be a large-scale application with many features. Since Angular comes with a variety of features, it allows developers to utilize templates or create tests.

What’s Vue.js?

Vue is a progressive framework for building user interfaces. The word “progressive” implies that the framework is implemented as an addition to HTML.

Smaller than the other frameworks being compared, Vue is ideal for “lightweight” web development and single-page apps.

Now with the basic summaries of each framework, let’s go over some of the Pros and Cons for each.

React — Pros and Cons

Pros:

1. Easy to learn since it has a simple design and extensive documentation.

2. It’s Fast.

3. Huge support for server-side rendering.

4. Implements functional programming concepts, creating reusable and easy-to-test code.

Cons:

1. React seems to be unopinionated, allowing developers to code in various practices.

2. The framework is heading towards less use of class-based components.

3. Community for the framework is divided on the best way to integrate CSS in React.

Angular — Pros and Cons

Pros:

1. The architecture was specifically created for project stability.

2. The Model-View-ViewModel (MVVM) allows developers to work on the same app section, separately.

3. One-way data binding minimizes risks of potential errors.

4. Created to be used in conjunction with TypeScript.

Cons:

1. Since there are various structures that can be used in Angular (Pipes, Components, Injectables, etc.), it’s more difficult to learn than React or Vue.js.

2. Relative to React and Vue, Angular has slower performance.

Vue.js — Pros and Cons

Pros:

1. It’s adaptable. Since it has many similarities with React and Angular, switching from either to Vue is generally quick.

2. Great integration capability. Vue.js can be used to create single-page apps and more difficult web-based apps.

3. Due to the small size of Vue.js, relative to React and Angular, it can have better performance.

Cons:

1. Since Vue.js is still new, there isn’t as much support as there is for React and Angular.

2. There can be issues when integrating Vue.js into larger projects. Since it’s still new, there aren’t many solutions… yet.

Resources

--

--