JavaScript ate the web. But should it own the whole kitchen?
Look around: React here, Electron there, React Native in your pocket. We’re bending over backwards to make JavaScript work for every platform, every use case. But here’s the thing - the web wasn’t supposed to be an OS. Remember when websites were… documents?
The JavaScript Industrial Complex™ brings some baggage:
- Build pipelines that need their own build pipelines
- Frameworks patching framework-shaped holes in other frameworks
- Left-pad incidents (need I say more?)
But wait - the browser wars never ended. Now we fight over which JS framework will win. Meanwhile, Go’s sitting there with its static binaries. Rust’s whispering about memory safety. Even Dart’s like “hey, remember structured programming?”
The status quo bias is real. “But everyone uses React!” they say. It’s “InDuStRy StAnDaRd!!!1!” Sure, and everyone used jQuery until they didn’t1. Remember when we thought Flash was the future of web apps?
Here’s where it gets sticky: When your only tool is JavaScript, every problem looks like a SPA. But should a recipe blog need hydration? Does your local bakery’s site need Redux? We’re serving an 8 course meal and an elevated experience to people who asked for some fries.
Performance matters. Try running a physics simulation in JS. Watch your laptop fan spin up like it’s mining crypto. Now imagine that multiplied across a billion devices.
But the real crime? What this does to the web’s soul. Tim Berners-Lee gave us hypertext, not mere interactive interfaces that live in isolation, each website and web page increasingly different from the rest. The beauty was in the links - the ability to view-source
and learn. Now we ship minified blobs that even we can’t read.
Cross-platform dreams vs reality:
- Wanna make a PWA? Cool, enjoy your 10MB JS payload
- Native app? React Native’s got you… until you need heavy client interactions (and am not talking about a mere gamified shopping app or a glorified to-do list).
- Desktop? Electron’s memory hunger puts Chrome tabs to shame
Here’s the kicker: WebAssembly exists now. We could be using any language. But we keep rebuilding Tower of Babel in JS. Why? Because “that’s how it’s done.”
Am I saying we should dump JavaScript? Hell no. But maybe we should stop pretending it’s the only paint in the box. Sometimes you need a pencil sketch, not an oil painting.
The web’s original sin was letting document viewers become app runners. Now we’re stuck with the consequences. But the exit door’s right there - marked “WASM” and “Native” and “Maybe Just Use HTML.”
Next time you reach for npm install
, ask: Are we building an app or a document? The answer might surprise you.
-
I am 100% aware that the “vast majority of websites still use JQuery.” This doesn’t mean they get a proportional amount of Internet traffic or that most new development is happening in JQuery. ↩︎