Table of Contents
Open a web page from 1995 and one from today. Both are text and pictures with links, delivered over HTTP, rendered by a browser. On the surface, thirty years changed very little.
What changed is where the work happens. That one question, how much thinking happens on the server and how much in the browser, explains every era of web development, every framework argument, and most of what is happening right now. This article follows one page, a small site with a list of articles, as it gets rebuilt in six different eras. You will see the real code of each period, and what it looked like on screen.
In this article (14 minute read):
✓ The pendulum: how work swung from the server to the browser and partly back
✓ Six eras of the same page, with period-accurate code and a live preview of each
✓ What each era invented that you still use today, often without noticing
✓ The things that were genuinely hard then and are one line now
✓ Where AI fits, and which parts of this are hype
The Pendulum
Here is the whole history in one picture. The web keeps moving the work back and forth between two machines, and each swing solves the previous swing’s problem while creating a new one.
Why the pendulum matters to you: when someone argues that server rendering is “back” or that single-page apps were “a mistake”, they are describing a swing, not a verdict. The useful question is never which era was right. It is which end of the pendulum your particular project belongs on.
One Page, Six Eras
Same site in every era: a heading, a short intro, and a list of three articles. Click an era to see the code a developer would have written, and what the page looked like.
Look at what did not change. Every one of those six versions is still a heading, a paragraph and three links. The user’s experience of that page barely improved between 1998 and today. What improved enormously is how the page gets made, updated and scaled, which is a developer problem, not a reader problem. That is worth remembering the next time a rewrite is proposed.
What Each Era Actually Gave Us
The useful way to read this history is not “what was popular” but “what became permanent”. Almost every era contributed something you still use today.
| Era | The big idea | What survived, and you still use daily |
|---|---|---|
| 1990s Static HTML | Documents linked to other documents | HTML itself, links, forms, and the fact that a page is still just a file a server sends you. |
| Late 1990s CSS | Separate how it looks from what it says | The whole idea of stylesheets, the cascade, and classes. Every framework today is still CSS underneath. |
| Late 90s to 2000s JavaScript | The page can change after it loads | The DOM, events, and client-side validation. The DOM is still the thing React is managing for you. |
| 2000s Server-side scripting | Pages built from a database, per visitor | PHP, templates, sessions and logins. WordPress, which runs a huge share of the web, is this era still working. |
| Mid 2000s Web 2.0 and AJAX | Update part of a page without reloading | fetch, JSON, and public APIs. Every modern app is built on this one idea. |
| 2010s SPAs and frameworks | Describe the UI, let the tool update it | Components, state, npm, and build tools. The mental model behind React, Vue and Svelte. |
| 2010s onward PWAs and WebAssembly | The web can do what native apps do | Service workers, offline support, push notifications, and near-native speed for heavy work. |
| 2020s Server rendering returns | Send HTML first, add interactivity after | Next.js, Nuxt, Astro and friends. The pendulum swinging back toward the middle. |
Things That Were Hard Then and Are One Line Now
If you started coding recently, this is the part that is genuinely difficult to imagine. These are not exaggerations.
| The task | How it was done in 2005 | Today |
|---|---|---|
| Centre a box | Nested tables, or margin hacks that broke in one browser | display:grid; place-items:center |
| Rounded corners | Nine background images, one per corner and edge | border-radius: 12px |
| A column layout | Floats, clearfix hacks, and a prayer | display:grid in one line |
| Fetch data without reloading | XMLHttpRequest with browser-specific branches | await fetch(url) |
| Select elements | jQuery, because browsers disagreed | document.querySelectorAll(), built in |
| Support old Internet Explorer | Conditional comments and a second stylesheet | Generally, you no longer do |
| Put a video on a page | Flash, a plugin and a prayer | <video controls> |
/* 2005: this was a genuine discussion topic */ .outer { display: table; width: 100%; height: 300px; } .middle { display: table-cell; vertical-align: middle; } .inner { margin-left: auto; margin-right: auto; width: 200px; } /* ...plus a separate version for Internet Explorer */ /* Today */ .outer { display: grid; place-items: center; height: 300px; }
Where We Actually Are in 2026
The loudest arguments have quietened. What most teams build now borrows from every era at once, and that is not a compromise, it is the lesson.
And AI, honestly
The original version of this article listed AI’s impact as personalisation, chatbots, content generation, security, voice search and A/B testing. All of that is real. Here is the shorter, more useful version for a developer in 2026:
The Patterns Worth Taking Away
That third one is the practical advice hidden inside thirty years of history. Frameworks have an average working life of a few years. HTTP is older than most developers reading this and has not been replaced. Spend your deepest learning on the layer that does not move.
A warning the history keeps repeating. Every era arrived with people insisting the previous one was obsolete. Static sites were declared dead, then came back as Jamstack. Server rendering was declared dead, then came back as the default in Next.js. jQuery was declared dead and still runs on a very large number of working websites. Technologies retire far more slowly than the discussion about them suggests.
Common Questions
Do I need to learn this history to be a good developer?
Not the dates. But understanding why each thing exists makes the present far less confusing. When you know that React was an answer to keeping the screen in sync with data, and that server components are an answer to shipping too much JavaScript, those tools stop feeling like arbitrary fashion.
Is plain HTML and CSS still a valid way to build a site?
Completely, and for many projects it is the better choice. A brochure site, a portfolio or a documentation site built from plain HTML and CSS is fast, cheap to host and will still work in ten years with no maintenance. Reach for a framework when the application behaviour justifies it.
Are single-page apps outdated now?
No, but they are no longer the automatic default. SPAs are excellent for app-like interfaces, such as dashboards and editors, where the user stays on one screen for a long time. For content sites, server rendering gives you a faster first load and better search visibility, which is why the pendulum swung back.
Why does WordPress still matter if it is “old” technology?
Because the 2000s problem it solves, letting non-developers publish and edit content, never went away. It runs an enormous share of the web and a very large freelance market. Being able to work with it is a practical skill, not a nostalgic one.
What is the next era likely to be?
Nobody knows, and anyone who sounds certain is guessing. The visible directions are more work moving back to the server, smaller JavaScript bundles, AI assistance woven into the tools, and WebAssembly taking on heavy computation. The safest bet remains the same one it has always been: learn the fundamentals, then follow the tools.
Read next: The Evolution of JavaScript Frameworks zooms into the 2010s part of this story, and Understanding the DOM explains the thing every one of these eras was quietly managing.
Final Thoughts
Thirty years of web development come down to one restless question: how much of the work should the server do, and how much should the browser? Every era answered it differently, every answer was reasonable at the time, and the pendulum is still moving.
So do not panic about being behind on the newest framework. Learn HTML, CSS, HTTP and the DOM properly and you can walk into any era of this story and be useful. Which era did you start in? Tell me in the comments. I read every one.
If you enjoyed this, share it with someone who thinks the web was always like this.



