November 2nd, 2024

Four Eras of JavaScript Frameworks (2022)

JavaScript frameworks have evolved through four eras: initial UI enhancements, early frameworks for SPAs, component-based frameworks for modularity, and current full-stack frameworks addressing both frontend and backend needs.

Read original articleLink Icon
Four Eras of JavaScript Frameworks (2022)

The evolution of JavaScript frameworks can be divided into four main eras, reflecting significant changes in web development practices. The first era, "The Before Times," saw JavaScript primarily used for small UI enhancements, with libraries like jQuery and MooTools helping to standardize browser interactions. As web applications grew more complex, the second era, "The First Frameworks," emerged in the late 2000s and early 2010s, introducing frameworks like Angular and Backbone that aimed to facilitate the development of single-page applications (SPAs). Despite their ambition, these frameworks faced criticism for performance and accessibility issues. The third era, "Component-Centric View Layers," was marked by the rise of component-based frameworks like React and Vue, which simplified development by tying business logic directly to UI components and focusing on rendering. This shift allowed developers to manage state and routing independently, leading to a more modular approach. Currently, we are in the fourth era, "Full-stack Frameworks," where frameworks are increasingly comprehensive, addressing both frontend and backend needs. The ongoing debates in the community reflect concerns about web bloat and the necessity of JavaScript, suggesting that while frameworks have evolved, fundamental questions about web development practices remain.

- JavaScript frameworks have evolved through four distinct eras.

- The first frameworks aimed to create full client applications but faced performance challenges.

- Component-based frameworks simplified development by focusing on rendering and modularity.

- Current frameworks are increasingly full-stack, addressing both frontend and backend needs.

- Ongoing debates in the community highlight concerns about web bloat and the role of JavaScript.

Link Icon 1 comments
By @noduerme - 5 months
Quick Cmd-F for "jquery" reveals that it isn't even mentioned as a framework; it lived somewhere in pre-history before the invention of Angular.js. It's terrifying that history "begins" with reliance on anything that abstracts away the separation between JS and the DOM to that extent.

I'm still writing huge apps that take advantage of some easy sugar from Jquery, long after the rise and fall of dozens of frameworks that I never wanted to use. Even after most of Jquery's DOM-searching-manipulation functionality were incorporated into core JS query selectors. (I still use it for one reason: I like having its event loop to hook custom dispatchers and listeners to objects/class instances that don't exist in the DOM; and even though I wrote my own, jquery's is tried and true).

All you need to write a responsive framework is a class that abstracts backend "AJAX" calls, synchronously or not, and manipulates whatever it wants in the DOM with the results. Write your own. Don't rely on it being stuck into junk inside your HTML templates, or you'll never be able to write good large scale applications. I look at my banks' apps (Schwab, Chase) and weep for how awful their coders are and how reliant on those gross frameworks.

Nothing is new. 2022 was a long time ago. I have apps still running from 2012 that look more modern than a lot of new things built with frameworks. I'd never take a job that demanded me to use Vue or Angular or React. Roll your own.