Why JavaScript Frameworks are (finally) Maturing and Now is the Best Time to Learn One

Image for post
Image for post

Image source

Note: I’m not going to make a big distinction between libraries and frameworks in this article because it’s important to abstract away that detail in order to understand the trend as a whole. For all intents and purposes, I include libraries when using the word “frameworks” in this article.

Today I’ll make a prediction that most readers will think is doomed to be wrong. The JavaScript ecosystem will look pretty much the same 10 years from now as it does today. Specifically, React and Angular will still be among the top frameworks, jQuery will continue to decline, and React Native will continue to be the cross-platform king across even more platforms like VR and wearable internet-connected devices. Node.js with Express will still be the go-to back-end framework, and it’ll also be present across more platforms, especially voice. In the Web Development world, this is basically like trying to predict what will happen in the next century.

However, there are very good reasons why this will happen in the next decade and they have to do with how markets are created and become more mature over time. After becoming deeply entrenched in the startup world, I’ve gained new appreciation for business, economics, and looking at universal trends from the perspective of market-driven economics. Over the years, my perspective on this has become richer and refined compared to just taking a couple of business classes in college (which I had already done). It turns out, market dynamics influence many trends that, on their surface, seem to be unpredictable.

Markets are notoriously hard to predict because they are not only complex, but trying to make predictions about them fundamentally affects the way they will behave. However, this doesn’t mean that we cannot draw trends from markets and learn about how trends change and mature over time. That’s what this article will do: create a connection between free markets and the JavaScript ecosystem to show how JavaScript frameworks are maturing, and what we can expect in a matured JS market.

What Markets and JavaScript Frameworks Have in Common

One of the things that the market represents is an overarching trend that people follow based on choices that are available by consumers and the ability for suppliers to produce goods that satisfy those choices. For example, your opinion of the best smartphone to buy is influenced by the smartphone market. Likewise, your choice in buying a car is influenced by the automotive market. In other words, markets represent the delicate balance between consumer demand and a producer’s ability to supply that demand. In our case, the consumers are developers, and the suppliers are the open-source community and large technology companies like Google and Facebook who create these frameworks.

Up until recently, JavaScript frameworks were relatively small and lightweight. Even the concept of a JavaScript framework is relatively new, only around for about 10 years. 10 years ago, jQuery seemed like the indisputable king of JavaScript libraries, and then frameworks like Angular.js came along and provided structure to building large web applications. Just like any new market, at first there was chaos as dozens of entrants tried to make their own framework to satisfy this newfound need in the market.

Think back to search engines at the turn of the millennium. There were — to name a few — AskJeeves, Alta Vista, Yahoo and of course, Google, among several other nameless search engines crowding out the space. In fact, by the time Google came along, search engines had become so crowded that many Venture Capitalists rejected the Google founders simply because they were the umpteenth search engine. This is all par for the course in a new market that’s “hot”.

We saw this in JavaScript frameworks about 5-10 years ago. There was Backbone, Knockout, AngularJS, Meteor, Ember, and of course, the granddaddy of all JavaScript libraries continued to dominate: jQuery. Fast-forward just a few years, and the landscape starts to change significantly. jQuery is losing market share rapidly to two frameworks that continue to get larger: React and Angular (for simplicity, I will lump Angular.js and Angular together from now, even though they’re pretty different frameworks).

The Market Maturity Cycle and Two Common Endings

When markets are new and “hot”, they often follow that frenzy of dozens — if not hundreds — of entrants trying to grab market share from each other. Inevitably, most of these new entrants get wiped out over a decade or two and their market share goes down into the single digits (often zero). The end result is that the market often resembles one of two possible situations:

  1. An Oligopoly of a few large, mature firms that compete with each other through free market checks and balances (think Detroit auto manufacturers), or
  2. The slightly more dangerous scenario where the market has a winner-take-all effect, where one firm or organization ends up controlling over 70% of the market.

Most of the time, #1 occurs because it gives consumers the most choice. Occasionally, like with search engines, #2 occurs because the incumbents gain massive economies of scale (classic Microeconomics), where by virtue of their being large, the cost to produce each incremental good or service at scale becomes much lower. Economies of scale are present in both oligopolies and winner-take-all markets. They are extremely important in understanding the behavior of large markets. The only time when economies of scale are not present are generally in hyper-local, highly fragmented markets like restaurants, bars, and universities(all of which I’m ignoring because they have little relevance to JavaScript frameworks and technologies).

In an oligopoly, the magic number seems to be somewhere between 3 to 5 mature firms, each having between 15%–30% market share. These are general numbers based on anecdotal evidence and heuristics, but this is important for a couple of reasons because it means that there is usually still some chunk left over for new upstarts. Second, it does NOT imply that existing incumbents can’t be replaced (or added to). Just look at Tesla, entering an already mature market and becoming one of the four largest car manufacturers in the United States, hitting the same level as the Detroit automakers in valuation.

How This Relates to JavaScript

With that background on market life cycles, you may be starting to see some common patterns; the initial wave of frameworks is subsiding into an oligopoly of React, Angular, and jQuery. However, correlation is not causation, and there are big factors that have to be at play for larger incumbents being able to maintain their current positions and economies of scale.

So let’s look at a few economies of scale that are present in Angular, React, and jQuery, starting with jQuery since it’s the easiest to understand.

  1. Economies of scale with jQuery boil down to the fact that it’s very easy to learn once you know HTML and CSS. Even if you don’t know JavaScript, jQuery is easy to pick up and lets you start thinking in JavaScript with the comfortable learning crutches of HTML and CSS. There is also a lot of documentation and learning resources that are easy to get started with jQuery. As a library, it continues to mature and provide easier abstractions on top of JavaScript that allow both new and experienced developers to interact with the webpage in interesting ways with animations and custom UI elements.
  2. Economies of scale with React are attributable to its enormous developer community. It creates a network effect so large that if the developer community was large enough, React would have the biggest potential of turning JavaScript frameworks into a winner-take-all market instead of an oligopoly. Combine that with its cross-platform support through React Native (which is years ahead of any other mobile app framework) and it becomes evident how React has a very strong technology advantage. It’s a good thing that developers have such strong opinions of the code they write and how they should write it :) because this brings me to the Dark Horse of JavaScript frameworks and my personal favorite.
  3. Angular essentially invented the JavaScript framework. Although it has slipped a bit since its heyday, it still has economies of scale from its inventors and the enterprises that are using it. Although Angular has more recently lost some developer mind-share to React, its enterprise-scale roots and unique direction have managed to carve out a large niche of its own that will continue to thrive in the enterprise environment because few other solutions come close to achieving that need for stability and reliability. Despite having a larger learning curve, developers have much to learn from Angular’s philosophy of batteries-included with modern tooling. Just be careful not to confuse the naming conventions between Angular.js and Angular (yes they’re completely different).

Conclusion

In the grand scheme of things, JavaScript as a language and the web as a technology are still new compared to the automotive industry, so there’s still room for drastic changes. From the perspective of the Industrial Revolution, the Information Revolution has had less than 10% of the time to mature. Yet even today, we define many countries by how industrialized they are. Within our lifetimes, we will also be measuring how advanced countries are based on their ease of access to information. The web and JavaScript form a core foundation of that trend of improving access to information.

Renaissance Engineer. Entrepreneur. Passionate about technology, education, and the environment.

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