Which Javascript Framework Should I Learn?

JavaScript is a scripting language used to develop dynamic websites. It is used to manipulate HTML elements to make webpages interactive and negates the need to refresh the page to show new changes.

Frameworks are a collection of JavaScript functions and rules. These help developers fast-track their projects through many different templates built-in to the frameworks that we will be looking at in this article. This allows developers to set up a project structure quickly, also called a boiler-plate, and get down to developing business logic, without having to worry about setting up the basics from scratch.

In this article, we’ll be talking about the top three JavaScript frameworks, in our opinion, and which one would suit your needs. Make sure to read till the end!

Our Top Picks

Our Top Picks

1. React

React is by far the most popular JavaScript framework at present. Developed by Facebook Inc. in 2013, React is used in most of its products, such as Facebook, Instagram, and WhatsApp.
React uses a copy of the HTML DOM, called the Virtual DOM to update the changes done in code. The Virtual DOM is then compared with the HTML DOM, which is updated to show the changes to the user.

React uses JSX expressions to declare variables with HTML elements, like the following simple example:

const element = <h1>Hello, world!</h1>;

As you may have already noticed, these are neither JavaScript nor HTML.

One of the main reasons developers and companies opt for React is that it also provides a separate framework for hybrid mobile application development. This means that developers don’t have to start learning the mobile platform from scratch.

2. Angular

Angular is the oldest of these three frameworks and was introduced as AngularJS back in 2010 by Google Inc. Angular 2 was then released, and there were some considerable changes, which left legacy applications stranded in AngularJS. However, support is still provided for AngularJS. We will be focussing on Angular 2+ in this article.

Angular’s tagline is “One framework. Mobile and desktop”, and as mentioned, it is a JavaScript framework that supports writing a common code base for both the mobile and desktop versions of an application. It does not use a Virtual DOM. The application logic will be common wherever possible, with the possibility to define specific code separately for each platform along with their respective view templates and styling.

3. Vue

Vue is the newest of the three frameworks and borrows the best of both of them. Developed in 2014 by ex-staff of Google Inc., it has soon grown to popularity. Download statistics on npm-stat.com show a visible increase in the number of downloads of Vue.js beginning in early 2018.

downloads per day

Vue.js uses the Virtual DOM to render changes to your site and has a syntax that is HTML based, unlike the other frameworks on this article, making its learning curve much lower. Angular, for example, has a framework-specific syntax called TypeScript, making it more time-consuming to learn.

Comparison between Angular, React and Vue

So now you know about three major javascript frameworks. Can you decide which one to learn or where to start? Probably not. That’s because there is a lot more to consider. Let’s look at some of the important factors to consider when choosing one of these frameworks.

The first thing to consider is what type of application you are looking to build. All three of these frameworks provide high performance and have very small loading sizes when used in applications:

Angular – 500 KB
React – 100 KB
Vue – 80 Kb

While a small size is the best for smaller projects, Angular has many features like testing utilities, which are very important for many projects.

They are all distributed under an MIT license and as such, are free to use even for more commercial projects. So you are in the clear on those aspects.

All three of these frameworks provide support for Single Page Applications (SPA) for both web and mobile applications. In this regard, React provides the biggest advantage as it is made for both. Both Angular and VueNative also provide easy ways of converting a web application to its mobile version by defining CSS and view templates. In essence, it comes down to personal preference and availability of support for features that you require for your applications. Angular and React score extra points in this category due to their relative stability over the years, and loads of community support.
Next, we look at the popularity of these frameworks in terms of downloads, beginning in 2014.

download per year

Based on the graph, it is evident that React is the most popular out of the three. However, this should not be the only determining factor.

One of the other most important indicators is job openings for these frameworks. Indeed.com gives these figures for the US as at December 2018:

job board posting per framework

Here too, the preference seems to be for React, with Angular as a strong runner-up.
Salaries are another indicator, while these results from the “State of JS” survey cannot be considered universal, they give you quite a good idea about the industry.

average salary

The story doesn’t seem to change here either, React and Angular are at the forefront with React having a lead of more than $10,000.

Let’s look at community support next. GitHub statistics for the main repositories of these frameworks, as at the time of this article show results that are evident.

AngularReactVue
Watchers3.2K6.6K6K
Contributors1K1.3K283
Forks15.1K26.7K22.8K

The important row to look at is the Contributors, and React has a strong lead meaning that it will continue to grow and mature. Let’s also look at the number of commits during the past 12 months, again from GitHub.

commits during the past 12 months

The last factor we are going to look at is the stability of these frameworks in terms of version changes and support. Angular has already had a bad track-record with their migration from AngularJS to Angular 2, causing a major rift. They plan major updates every six months, with a period of six months before any major APIs are deprecated, this gives you a year to make necessary changes if any.

Facebook promises stability, due to their massive user base. React is the most regular with updates and support migration with react-codemod.
Vue promises that 90% of their APIs are the same from 1.x to 2. Their migration helper tool supports and assesses migration status.

Ember, Meteor, Mithril, and Svelte are not so far behind

We found some honorable picks during our research. They, too, are gradually building a following in certain circles due to specific features that they bring to the mix. This graph from npm-stat.com shows this clearly:

Ember, Meteor, Mithril

Ember has been around since 2015, and specializes in two-way data binding and is used by popular platforms like LinkedIn and Netflix. Meteor, another upcoming framework is an all-round powerhouse for both back and front end development with good database connectivity as well.

Mithril is yet another framework for easily building SPAs. It is simpler to implement as there are no derived functions from a base class. It is less than 8kb in its compressed form. Svelte is another new framework that has been around since 2016 and does not use a virtual DOM. Another downside is its dependance on plain JavaScript manipulation with less support from the framework even for basic tasks.

Some Other Things to Consider

There are a few other names to consider, and JQuery is one of them. JQuery is one of the oldest JavaScript libraries that is still being used by many developers. It is, however, just a collection of functions and not a full-fledged framework like those discussed above.

Express and Node.JS are other frameworks we can’t ignore, but they are specialized for back-end development only.

Conclusion

We’ve looked at many things, such as what front-end JS frameworks are, how they differ from libraries, and the pros and cons of each framework.

Considering the most obvious factors such as popularity, usage, community support, job availability, and salary scales, React has an obvious lead. However, there are other things to consider, such as the type of app you wish to build. Some of these frameworks provide the possibility of having a common code base for both web and mobile. Angular even allows you to convert an existing web application to mobile easily.

There is also the size of the framework that has to be downloaded on to each page. So if your project is quite small, Vue would be a good option. But you have to consider all the additional functionality provided with React and Angular.

So, in conclusion, this is a choice you need to make, we hope that we helped you in the right direction.

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top