HTML: One Language To Rule Them All
Every framework comes and goes. Every build tool rises and falls. But one language has been here since the beginning, and it will still be here long after the rest have faded: HTML.
The language your browser actually speaks
Here's a truth that gets buried under layers of tooling: your browser doesn't render React. It doesn't render Vue, Svelte, or Angular. It doesn't render TypeScript or JSX. It renders HTML.
Every single framework, transpiler, and build tool exists to produce one thing — an HTML document with some CSS and JavaScript. That's it. That's the deliverable. Everything else is scaffolding.
So why don't we teach HTML first, teach it well, and treat it like the foundation it actually is?
What HTML gives you for free
Modern HTML is remarkably capable on its own. Consider what you get with zero dependencies, zero build steps, and zero JavaScript:
- Semantic structure —
<article>,<nav>,<header>,<main>,<section>,<aside>. Screen readers, search engines, and browsers all understand these elements natively. - Forms — Text inputs, date pickers, color pickers, range sliders, email validation, required fields, pattern matching. All built in. All accessible. No library needed.
- Media —
<video>,<audio>,<picture>with responsive<source>sets, lazy loading vialoading="lazy". - Interactive elements —
<details>and<summary>give you disclosure widgets.<dialog>gives you modals. No JavaScript required. - Linking — The humble
<a>tag is the most powerful element on the web. It connects documents across the entire internet. No API call, no routing library. Just a URL.
The build tool trap
Somewhere along the way, the industry convinced itself that you can't build a website without:
- A JavaScript framework
- A package manager
- A bundler
- A transpiler
- A CSS preprocessor
- A development server with hot module replacement
That's six layers between you and a web page. Six layers that each introduce complexity, dependencies, breaking changes, and security vulnerabilities.
What if you just... wrote HTML?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>My Website</title>
<style>
body { font-family: system-ui; max-width: 65ch; margin: 2rem auto; padding: 0 1rem; }
</style>
</head>
<body>
<h1>Hello, World</h1>
<p>This is a complete, valid, responsive web page.</p>
</body>
</html>
That's a complete website. It loads instantly. It works in every browser. It's accessible. It's secure. It will still work in ten years.
Can your framework say the same?
When you actually need JavaScript
JavaScript isn't the enemy. It's a tool. The problem is reaching for it by default instead of by necessity.
You need JavaScript when you need interactivity that HTML doesn't provide. Real-time collaboration. Complex data visualization. Drag and drop. Canvas drawing. WebSocket connections.
You don't need JavaScript to:
- Display text and images
- Navigate between pages
- Submit a form
- Show and hide content
- Play media
If HTML already does it, let HTML do it.
The Unweb philosophy
This is why we built Unweb the way we did. Your website is HTML. You edit it as HTML. We don't wrap your content in a proprietary format, generate it from a database template language, or require a build step to preview your changes.
You write HTML. We serve HTML. Your visitors receive HTML.
Simple. Direct. Durable.
Start here
If you're new to web development — or if you've been so deep in framework-land that you've forgotten the basics — here's your challenge:
Build a complete personal website using nothing but HTML and CSS. No framework. No build tools. No JavaScript. Just open a text editor, write <!DOCTYPE html>, and go.
You might be surprised how far you get.