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 articleThe 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.
Related
New Web Development: Or, why Copilots and chatbots are bad for modern web dev
The analysis critiques Copilots, chatbots, and React for web development, citing slow sites, complex code, and high costs. It advocates for a shift to browser APIs, CSS, and HTML for better performance and lower expenses. Transition challenges include finding developers skilled in vanilla JavaScript. Organizations are urged to prioritize simplicity, efficiency, and core web technology training.
The Gift of Code
The article outlines the evolution of web technologies during Web 2.0, highlighting HTML5's creation, JavaScript's stagnation, Mozilla's rise with Firefox, and the impact of Adobe's Project Tamarin on development.
Web Components Are Not Framework Components – and That's Okay
Lea Verou discusses the debate on Web Components versus JavaScript frameworks, emphasizing their different purposes, interoperability, and the need for coexistence to enhance web development despite current authoring challenges.
React on the server is not PHP
The article highlights the evolution from PHP to full-stack JavaScript frameworks, emphasizing improved collaboration, product cohesion, and developer efficiency through modern tools like Next.js and Remix in web development.
Panic at the SPA
The article critiques the complexity and inefficiencies of React and Single Page Applications, highlighting performance issues, SEO compatibility concerns, and a lack of standardization in the JavaScript ecosystem.
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.
Related
New Web Development: Or, why Copilots and chatbots are bad for modern web dev
The analysis critiques Copilots, chatbots, and React for web development, citing slow sites, complex code, and high costs. It advocates for a shift to browser APIs, CSS, and HTML for better performance and lower expenses. Transition challenges include finding developers skilled in vanilla JavaScript. Organizations are urged to prioritize simplicity, efficiency, and core web technology training.
The Gift of Code
The article outlines the evolution of web technologies during Web 2.0, highlighting HTML5's creation, JavaScript's stagnation, Mozilla's rise with Firefox, and the impact of Adobe's Project Tamarin on development.
Web Components Are Not Framework Components – and That's Okay
Lea Verou discusses the debate on Web Components versus JavaScript frameworks, emphasizing their different purposes, interoperability, and the need for coexistence to enhance web development despite current authoring challenges.
React on the server is not PHP
The article highlights the evolution from PHP to full-stack JavaScript frameworks, emphasizing improved collaboration, product cohesion, and developer efficiency through modern tools like Next.js and Remix in web development.
Panic at the SPA
The article critiques the complexity and inefficiencies of React and Single Page Applications, highlighting performance issues, SEO compatibility concerns, and a lack of standardization in the JavaScript ecosystem.