All about the World of JavaScript Frameworks !!

Bhammarker Rahul
Jan 20, 2018 · 6 min read

There was a time when only JavaScript and JQuery were the everything when we considered any web project front-end, nothing else. But lately we had seen in last couple of years that we have been flooded with JavaScript frameworks. And now JavaScript is just not a front-end thing only !! JavaScript is being used everywhere and by everywhere I literally mean everywhere. No one has the realization of the capabilities of the language until the super power NodeJs came and it changed the whole world up side down. Since then JS never looked back and is now one of the top most trending, popular, liked and adapted technologies in the industry.

If you were been in this JS framework world then you have the hint about these frameworks and you can at least debate which one is good in what aspect and with which to go with for any problem domain you have. But its 2K18 and if you have just started looking into these because of the buzz that has been created then it might be be really confusing and hard to take any decision to choose one.

This article is all about understanding this new world and the options that we have. I wont compare the frameworks in detail because you can easily find a lot of debate on a particular set instead I just try to highlight the trends and developers adaptability towards them. So lets begin !!

Lets first see how the javaScript comes along the way through these years among all other languages. I am taking the help of Stack Overflow Trends tool here to get the trend data for this. The following graph is of Most Popular Languages (TIOBE Index for May 2017) on the SO trend tool.

As you can see in the graph above after 2009 the popularity of javascript has shift itself into its top most gear and since then it is at its top speed till yet and as I can recall 2009 was also the year when NodeJs has got its first release. Pretty Interesting right !!

JavaScript UI frameworks and libraries work in cycles. Every six months or so, a new one pops up, claiming that it has revolutionized UI development. Thousands of developers adopt it into their new projects, blog posts are written, Stack Overflow questions are asked and answered, and then a newer (and even more revolutionary) framework pops up to usurp the throne.

Using the Stack Overflow Trends tool lets take a look at some of the more prominent UI frameworks: Angular, React, Vue.js, Backbone, Knockout, and Ember.

Stack Overflow Trends lets us examine how each of these technologies has been asked about over time. We can start by looking at some of the larger frameworks.

There was a time when jQuery was the darling of JavaScript world, the most asked questions lies under its tag. This picture quickly changed as AngularJS and later React were released, cannibalizing jQuery’s mind share among the community. Then starting around 2016, there is a quick shift from AngularJS to Angular, which represents the subsequent versions (Angular 2+), as developers began to migrate to the latest and greatest flavors of the popular framework from Google.

These larger frameworks show only part of the picture. There also were smaller frameworks vying for dominance. The picture here shows just how brutal this JavaScript frameworks war could be.

As you can see here there are two major phases in JavaScript framework usage. There appears to be a quick ascent, as the framework gains popularity and then a slightly less quick but steady decline as developers adopt newer technologies. Starting around 2011, there seems to be major adoption of a couple of competing frameworks: Backbone, Knockout, and Ember. Questions about these tags appear to grow until around 2013 and have been in steady decline since, at about the same time as AngularJS started growing. The latest startup is the Vue.js framework, which has shown quick adoption, as it is one of the fastest growing tags on Stack Overflow. Only time can tell how long this growth will last.

There are various factors leads a developer to choose a particular front-end framework or another. Developers who primarily work with one programming language or technology may be more inclined to choose a certain UI framework. For instance, we might expect a NodeJS developer to choose a different framework than ones who work with PHP or even Java.

We can get a sense of this by breaking developers into groups based on the tag they most visit, and for each group examine the percentage of traffic that goes to each of these frameworks.

Both TypeScript and CSS users have relatively high traffic to JavaScript frameworks across the board compared to the other technologies we examined. This makes sense as developers who work with these technologies tend to do front-end development, so they’re more likely to use a JavaScript framework. The relationship of Angular to TypeScript is particularly strong as Angular (not AngularJS) is written in TypeScript.

We can also see here developers who primarily use C and C++ tend to do more systems programming and they are less likely to use a JavaScript UI framework, and this is apparent based on the relatively low percentages across each framework.

Angular and React are by far the most popular across the board, no matter the technology used. It makes sense that why they are the clear winners may be because supported by two of the biggest and most influential companies in tech. Just looking at those two frameworks, Angular is more visited than C#, Java, and (to a degree) PHP developers, whereas React is more popular with Rails, Node.js, and Python developers.

There are a couple of interesting observations when we look at some of the less popular tags. Ember.js and Ruby on Rails share a disproportionately strong relationship compared to other technologies. This marriage could be due to some of the philosophical similarities between the two frameworks. Ember was created by Yehuda Katz, a member of the Ruby on Rails core team. Due to this, both Ember and Ruby on Rails advocate a convention over configuration paradigm that make these two technologies complimentary and allow developers to quickly be productive without worrying about the nitty gritty configuration, until they need to.

Unsurprisingly, Knockout.js receives disproportionately more traffic by C# developers, most likely since Knockout is also a Microsoft technology. PHP is also an interesting case. It is designed for and primarily used for web development, but PHP developers are not visiting many Angular or React questions (and not too many to JavaScript frameworks as a whole), but visit a disproportionate amount of Vue.js questions.


Hope This might have helped you to get the gist of the current trend and to choose the right one for you. If yes then don’t forget to clap and follow on below links :

Keep Learning !! Keep Sharing !!

Learn With Rahul

A collaborative initiative of two people who not only have…

Bhammarker Rahul

Written by

Learn With Rahul

A collaborative initiative of two people who not only have the same name but also have the same interest and passion towards technology and programming. We love to learn new things & use to share with each other. Many times we found ourselves debating & eventually understanding

Bhammarker Rahul

Written by

Learn With Rahul

A collaborative initiative of two people who not only have the same name but also have the same interest and passion towards technology and programming. We love to learn new things & use to share with each other. Many times we found ourselves debating & eventually understanding

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store