I read through Drew’s “Sad State of Web Development” with constant, empathetic head-bobbing. Drew’s screed laments the overwhelming torrent of dependencies that mar otherwise promising advancements in Web development, viz. robust, isometric development frameworks like React and Node. It’s a problem that, every time I run across it when spinning up new projects, calls to mind the parable of the old lady who swallowed a spider that wriggled, and wiggled, and jiggled inside her. She swallowed the spider to catch the fly. I don’t know why she swallowed the fly. Perhaps she’ll die.
When you (after recovering from my nursery rhyme throwback) cut through the terse, combative rhetoric, which a lot of commentators didn’t bother to do in their rebuttals, Drew’s sentiment doesn’t read nearly as controversial as his delivery.
However, Drew either missed, or left out, the primary reason why so many developers and development teams have gone all in on frameworks like React, Node.js, & al. We made this mess of modules and package managers and preprocessors because we’re dissatisfied with the platform, and we’re desperate to make better our gangling, adolescent environment.
We use React to get away from a lethargic DOM. We use Node because it improves the dialog between front end and back end, and has the effect of making backenders out of frontenders, frontenders out of backenders. My favorite new toy, Famous.js, let’s me think in terms of a scene graph. I’ve always wanted to code that way on the Web, and now I can.
I’ve always wanted to code that way — that sentiment is the propellant of the chaos that spews blood and bile all over your console window and project folders after you run ‘npm install’.
Obviously, when you consider Drew’s examples of React rendering a single image, or of Node.js weaseling its way ungracefully into legacy codebases just to serve a simple, static web page, it’s clear that we’re not there yet, and that we’re just making things worse.
But if we embrace our annoyance while discarding our tendency toward malice, a more sensible future is available to us. Web development isn’t going to shit; it’s always been shit. And, surprise surprise, the way out is messy.