Whoop! đ„ł
A whole decade has come and gone, and what a decade it was. Back when ECMAScript 5 was just released, no one would have predicted that 10 years later, weâd be arguing about const
vs. let
đ.
Weâve witnessed various JS frameworks pop up left and right. Some have changed the way we build software entirely, while others have not been able to stand the test of time, so I thought it would be nice to reflect on all the JavaScript frameworks that have influenced us as developers in one way or another this past decade.
These are frameworks that may have revolutionized the way we build software. They were on the bleeding edge of advancements and usually challenged the status quo to usher in a new era of software development.
The ones youâll see in this article were selected based on the following criteria, and of course, these still comprise my personal opinions.
- Was released between 2010â2020
- Still in active development
- Significantly influenced the way a large number of developers build software
- May (or may not) have spawned other libraries
If you disagree with this list, which Iâm confident you will, please let me know your reasons and your preferred choices. Note that this is in no order, as it would be a foolâs errand to ârankâ frameworks based on importance.
Letâs get to it, then. These are my top 10 picks for the most important JavaScript frameworks in the past decade.
1. React
Iâm sure this surprises no one, as React is one of the best-loved JavaScript libraries, with a large and vibrant community and a large number of job opportunities. Yes, I know itâs a âlibrary,â but the whole React ecosystem has grown so much that it is usually compared to other frameworks.
Letâs see how it meets the requirements.
React was initially released on 29 May 2013, with the latest version, v16.12, being released in November 2019. The minor release came with new bug fixes, which highlights why React is such a stable library.
We have to give props to the React team as they continuously push new features designed to make software development with React such a joy.
Its use of the V-DOM (Virtual DOM) diffing algorithm and its one-way data flow has certainly influenced the way a lot of software developers build software, so we can confidently say it meets that criterion handily.
Apart from its massive adoption and large community, React has also spawned various other libraries like Enzyme for testing, React Intl for international date formatting, and even whole frameworks like Gatsby and Next.
2. Express
Released in November 2010, I think it's safe to say that Express has become the de facto framework for building APIs and web servers using JavaScript (thanks to Node.js). Few frameworks have grown into such a monopoly the way Express has.
Express made server-side JavaScript much easier and more accessible for a large group of developers and led the way for other, newer frameworks like Koa.js and Hapi.js.
It has a very large and supportive community backing it, as well as the benefit of being battle-tested over time. While you can do a lot with Express on its own, itâs the vast array of easily configurable middlewares that really makes this framework shine.
There is a rich ecosystem of middlewares out there, which means you almost never have to write anything from scratch unless you choose to. Pair this with its minimalist approach and you have got a framework that has impacted web development so much that it would be a travesty not to include it here.
3. Backbone
While Backbone is gradually being forgotten and is well on its way out, for a time, it was one of the leading frontend frameworks. These days, building single-page applications (SPAs) is a pretty trivial matter, but before Backbone was released in 2010, SPAs were largely unheard of.
The original pioneer of single-page applications, Backbone made it tremendously easier to build more complex web applications using just JavaScript, and it ushered in an era of fast, lightweight frontend frameworks/libraries.
Although it adopted an imperative style of programming (a style which is slowly being replaced in favour of more declarative patterns), it can still be said to have popularized the MVC approach of building web apps.
All these reasons alone make it clear why it should be here, but the fact that it is also still in use today (although in decline), as well as being the most stable JavaScript framework, means that it deserves a spot on this list.
4. React Native
Before React Native, publishing your application to different platforms usually required multiple codebases of the same app, complete with different tech stacks, teams, and processes. This is because, traditionally, different platforms utilize different programming languages and tools.
The ability to develop all your apps on all platforms using a single language (and, often, a single team), drives down costs and reduces team management overhead, which is a big reason why React Native is so popular right now.
Although hybrid apps built this way are usually not as performant or as optimized as their native counterparts, for most cases, theyâre usually just powerful enough to get the job done. React Native has grown so much that it has a large number of available jobs and a huge community behind it.
Looking back at the software development space prior to React Native, itâs clear just how much it has influenced the way we built software in the past decade, and it shows no signs of slowing down as new features are still getting added.
5. Ionic
Another enabler of cross-platform application development, Ionic has made it possible for a large number of developers to build performant cross-platform apps.
Apart from having a great developer experience, Ionic places emphasis on open web standards, going so far as adopting it as a core philosophy.
Since its release in November 2013, Ionic has been steadily growing and evolving as a platform, and thanks to its open-source nature, it has been widely adopted by the dev community, with over 40,000 GitHub stars to show for it.
While it is definitely one of the less popular entries on this list, it has no doubt impacted the way we build cross-platform applications and is still growing daily.
6. Vue
One of the most-loved JavaScript frameworks of all time, Vue is erroneously viewed as an underdog in the frontend frameworks space. This might be due to the fact that unlike React and Angular, it doesnât have any big tech company backing it.
While this fact comes with both pros and cons, you canât deny just how much Vue has impacted us as JavaScript developers. It is currently the most-starred JavaScript framework on GitHub and came in second on the list for the most loved frameworks in StackOverflowâs 2019 developer survey.
The combination of its very active community, its ease of use when developing with it, its lightweight size, and the fact that itâs still in active development means that the only place for Vue to go is up.
7. AngularJS/Angular
While grouping these two frameworks together may be seen as a travesty by most developers, I feel itâs appropriate to do so because of the shared history between these two massively different frameworks.
AngularJS was first released in 2010 and, along with Backbone, was one of the first true JavaScript MVC frameworks. The fact that it was one of the first of such frameworks meant that while it indeed proved revolutionary at the time, it was far from perfect.
It was more difficult to work with than other frameworks like Backbone and Ember, and it also had a larger bundle size, which affected performance on lower-end devices. It was also geared towards enterprise software, which made it a bit harder to pick up for newer developers.
These were some of the factors that led to the development of Angular.
Angular shared a lot of the same features with its predecessor, like the MVC architecture and the declarative approach to building UI, but it also did things differently, too, such as its switch to TypeScript for development and its revamped approach to modularity.
Angular currently is one of the most popular front-end frameworks today and, along with React and Vue, constitutes the âholy trinityâ of frontend technologies.
8. Gatsby
Admittedly one of the newer entries in this list, it is by no means the least. This trendy offspring of React + GraphQL is quickly becoming the framework of choice for many developers. Itâs growing so fast that it already has more than 40,000 stars on GitHub in less than three years.
While GitHub stars are not an official metric of how important a framework is, it is still a good indicator of interest over time. To put things in perspective, jQuery, which is one of the most popular libraries of all time, is 11 years older and currently has around 50,000 stars.
Again, GitHub stars are not a hard-and-fast metric, but when you take a step back and consider just how much developers love Gatsby and the sheer number of plugins in the ecosystem, itâs clear that this is not just a fad here today to be gone tomorrow.
It takes a different approach to building web apps, with a focus on generating static sites that are usually faster, more accessible, and easier to build than traditional frameworks like Angular.
It has spawned a huge ecosystem of plugins and developers, so much so that you hardly have to do anything yourself. This frees you up to spend more of your time on the actual business logic and is probably why so many developers whoâve tried it do not want to go back.
9. Electron
This is another underestimated (in my opinion) JavaScript framework that was born out of similar reasons as React Native.
Electron is a framework for building cross-platform desktop applications using web technologies like JavaScript, HTML, and CSS. It has much of the same advantages (and disadvantages) as React Native in the sense that it allows teams to develop for different desktop environments without having to set up different teams for different environments.
It has proven so useful, in fact, that it has been adopted by major tech companies like Slack, Microsoft, and Atlassian for some of their desktop apps. It also has a huge collection of apps built by independent developers.
While itâs not perfect â nothing is â itâs still performant enough to run the vast majority of desktop apps available, and thanks to the active, ongoing development, it is only going to get better.
10. Mocha
I couldnât come up with a list of impactful JavaScript frameworks without adding the most popular JavaScript testing framework in existence (no, Jest is a library đ).
Test-driven development (TDD) has become so popular that itâs the default way of building software for many companies. This might be due to the excellent state of testing frameworks/libraries in JavaScript, and at the forefront of this surge in popularity is Mocha.
Mocha is an extensible test framework for Node.js, and it comes with a slew of features like browser support, async testing, and the option of using almost any assertion library for test assertions.
The flexibility, ease of use, excellent documentation, and massive community behind Mocha makes it a no-brainer for testing Node software.
Honourable mentions
Since this list is not exhaustive in any way, there are some honourable mentions that were omitted here.
This is either because there was no space for them or because theyâre not really traditional frameworks even though theyâve impacted the JavaScript community as much as some of the frameworks listed above.
Node.js
This is one of the most important inventions in web-development of the past decade (framework or not), and it was only omitted because it is not a traditional framework. Rather, Node.js is a runtime environment that allows you to run JavaScript outside of the browser.
It has spawned a whole host of frameworks/libraries built on top of it (Express, FeathersJS) and is responsible for the pervasiveness of JavaScript on the backend.
jQuery
Before there was AngularJS, Backbone, Meteor, et al., there was jQuery. It is the most popular JavaScript library ever, with over 73 percent of the 10 million most popular websites making use of it in one way or another.
Even though its popularity is waning (thanks, React), it still has a massive community behind it and is still actively being deployed in production websites more than 13 years after it was released.
Bootstrap
Iâm sure a lot of you reading would be surprised to find that I did not include Bootstrap in the list, seeing as it is extremely popular and it meets all the criteria I outlined earlier. I have a good reason for not including it, though.
Much of Bootstrapâs impact can be attributed to HTML and CSS as opposed to the JavaScript it comes bundled with. The vast majority of developers installing Bootstrap are doing it for the access to the huge HTML and CSS collection of reusable, battle-tested components rather than for some JavaScript functionality.
This is why I felt it would be unfair to group it along with pure JS frameworks above.
Conclusion
Now this list is by no means exhaustive, as this article would get dense really quickly if it included ALL the impactful JavaScript frameworks. This is also partly why I decided not to include any libraries (React is special) in this list and instead focused on fully-fledged frameworks.
This article, of course, will contain my personal biases and, in some cases, may not be fully representative of the truth as I didnât personally use some of the frameworks listed here, so please, if you find anything that seems off, a quick comment would be appreciated.