The VikiD Truth

Knowledge base / Computing

Read This! | Picolisp | Picolisp Machine | Pil Sources | Pil Tutorials | Linux | BASH | C-Programmming | Javascipt | Python | Scheme | Operating Systems | AssemblyLanguage | Computer Security | Firewalls | Exploitation | Social Engineering | Metasploit | Emacs | vim | Pharo Smalltalk | Databases | Networking | Machine Learning | Git | Algorithms | Open Data Science | Unity | Web Development | Web Development Reading List

Web Development

Here is the truth about web development in 2026: the web is still three languages in a trench coat – HTML, CSS and JavaScript – and everything else is tooling piled on to keep those three under control at scale. Learn the three deeply; treat frameworks as temporary.

What it is, in plain words

Web development is building applications that run in or talk to a browser. Conventionally:

The browser speaks HTTP(S), renders a Document Object Model, and runs JS on an event loop. Everything fashionable – React, Svelte, HTMX, WASM – sits on that foundation.

Why it matters

The web is the most widely deployed application runtime on Earth. A page you ship today runs on phones, laptops and kiosks without an install step. That reach is why so much software is now a website, and why understanding the platform beats chasing the framework of the month.

An everyday analogy: a theatre

HTML is the script and the set pieces. CSS is lighting and costume. JavaScript is the actors reacting to the audience. The server is the backstage crew fetching props. Frameworks are touring companies with their own way of rehearsing – useful, but the play is still a play.

flowchart LR
  B[Browser] -- HTTPS --> S[Server]
  S --> DB[(Database)]
  B --> HTML
  B --> CSS
  B --> JS

A hands-on example: no framework first

<!-- index.html -->
<!doctype html>
<html lang="en">
<meta charset="utf-8">
<title>Vikix status</title>
<link rel="stylesheet" href="style.css">
<h1>Vikix</h1>
<p>Uptime: <span id="days">…</span> days</p>
<button id="ping">Ping</button>
<script type="module" src="app.js"></script>
/* style.css */
:root { font-family: system-ui, sans-serif; }
button { padding: 0.5rem 1rem; }
// app.js
const days = document.querySelector("#days");
days.textContent = "12";
document.querySelector("#ping").addEventListener("click", async () => {
  const res = await fetch("/api/ping");
  const data = await res.json();
  days.textContent = data.uptimeDays;
});

A tiny Node server:

// server.js
import http from "node:http";
import { readFile } from "node:fs/promises";
const server = http.createServer(async (req, res) => {
  if (req.url === "/api/ping") {
    res.writeHead(200, { "content-type": "application/json" });
    res.end(JSON.stringify({ uptimeDays: 12 }));
    return;
  }
  const path = req.url === "/" ? "./index.html" : `.${req.url}`;
  try {
    const body = await readFile(path);
    res.end(body);
  } catch {
    res.writeHead(404); res.end("nope");
  }
});
server.listen(3000, () => console.log("http://localhost:3000"));
node server.js

From here, add what pain demands: a bundler when modules grow, a framework when UI state gets hard, a real database when memory isn’t enough. HTMX and server-rendered HTML are a valid 2026 path too – especially if you like PicoLisp or simple backends.

The modern toolkit (pick lightly)

Accessibility and performance are features

A pretty UI that a screen reader can’t use, or that waits five seconds for a megabyte of JavaScript, is an unfinished UI. Learn semantic HTML (button not div onclick), keep images sized, and measure with Lighthouse or WebPageTest. These skills age better than any framework release note.

Common misconceptions

Connections

Run a Local Web Server

python3 -m http.server --bind 127.0.0.1 9000

Bootstrap

Bootstrap from Scratch - YouTube

Last edited · 9 revisions

Tags: #Computing