I know this is only about web development, but this is actually a really great explanation of how computers become more abstracted over time. It also goes a long way towards explaining why people adopt those more abstracted tools despite their drawbacks. I think a lot of us in the small web movement tend to dismiss those as âwell those developers are just STUPID,â but thatâs overly reductive and doesnât really help advance any arguments (Iâm sure Iâve been guilty of this thinking myself too). I think itâs important to understand why those practices are adopted, even if youâre not planning on using them yourself (hence why Iâm still happy with my written-by-hand-javascript and HTML, thankyouverymuch).
This is a great point. Everything in software started from some programmer thinking âthis should be easierâ then building some layer of abstraction to do so. Itâs easy for us web hobbyists to say âmaking a site is so simpleâ but weâre all essentially uploading static documents to a web host, which is a fundamentally different problem than creating Gmail, for example. Most of the complexity of web tools comes from its usage as a target software platform - instead of desktop apps, companies now ship web apps. The browser is now an abstraction over the operating system. In order to take full advantage of that, you need heavy tooling such as React, Webpack, Docker, Kubernetes, etc. For most of us, though, all of that is way overkill.
Iâd argue that many (most?) websites could still be just as functional (and easier to maintain) if they were static pages. For example websites for small businesses, where the important info is what you do, your location, your hours, and maybe a menu if youâre a restaurant. I think the reason for this is developers struggle to use the right tool for the job. If youâre a React dev, youâre going to reach for React every time.
Anyway, itâs cool to see the history of web technologies told like this and it is important context to understand the state of things currently and how we may be able to change them in the future.
Someone emailed me one day asking what framework I used to make my photos website an was shocked to know that the whole thing was literally 1 php file, a bunch of jpgs in a folder and a few lines of vanilla js.
I think the new generation is so far removed from basics sites that they donât even know itâs possible to have great sites without all the extra tooling and complexity.
As you said, if youâre a react dev youâll reach for react every time. And if react is all you know youâll probably think everything has to be that complex.
This was a great read! Thanks for sharing.
Although Iâm not a professional web developer, Iâve used many of these technologies: from notepad, through FTP, JQuery, PHP, Wordpress, MySQL, JavaScript, Tailwind and so on. I think I was able to follow the thread of the article right up until around 2015 where the names became less familiar.
Coming back to web dev projects a few years ago after a hiatus was a rude awakening though as it seemed everything had moved onto build pipelines and JavaScript frameworks. I couldnât get my head around React, and I liked the premise of Vue, but both were overkill for my needs. I was happy with just plain HTML, CSS and Js. Later still, discovering Static Site Generators (possibly missing from the article?), before finally settling on simple Markdown, YAML, and Antlers with GitHub to trigger deployments.
Iâm not as optimistic about the webâs future given the rise of AI. That said, I do strongly believe we need more tools to really lower the benchmark to entry. Not everyone needs to build the next Netflix or Facebook, but I think more tools like Webflow can fill the gap beyond template builders.
I donât think AI is the right tool for that, although, full disclosure, Iâve used ChatGPT as a sounding board while I build a family history site that has more features than I couldâve attempted by myself.. but âvibe codingâ or whatever the kids are calling it now - getting AI to build things for us - just fills me with dread. I like to understand how things work and thats too much abstraction for me.
I like that prompt engineering reduces the barrier for more people, but I think the AI bubbleâs going to burst and there will be a graveyard of broken web apps that people wonât know how to maintain unless theyâre willing to hire a developer or upskill themselves. Admittedly, Iâm kind of over AI already and starting to restrict my use ![]()