Well yes. This has been the history of the web. Frontpage generated really crappy code but people still used it to create websites. They didn't care about code quality just how it looked.
My mom was generating web pages with dreamweaver 25 years ago. People used it sure, but people certainly did care about the quality because it produced unmaintainable code. If people truly didn’t care about the quality people would have stopped learning how to write html and CSS around 2005.
> people would have stopped learning how to write html and CSS around 2005.
They did. Now it's all JSX or htmx or some other favored template or DSL monstrosity. Most people do not write HTML or CSS, and haven't in decades. You're spot on.
This says nothing about quality, however. Quality of HTML/CSS is purely subjective. A website's presentation layer cannot meet any technical standard metric for quality in engineering or manufacturing such as durability, reliability, efficiency, or safety.
I’m not going define away blocks of HTML inside of php scripts as not writing HTML by hand, but if you want to do that then sure most people were never writing HTML and CSS by hand.
I agree, I wouldn't classify PHP as "not writing HTML by hand". But that's not what I'm talking about. Most websites in the last 20 years have heavily leaned into client-side rendering, picking up with jQuery circa 2006. It's only recently with htmx that the pendulum has started swinging back toward server-side rendering.
I was around for all of this. Websites using jQuery were almost all using hand written HTML or HTML generated by something like rails web templates or PHP.
SPAs didn’t go mainstream until almost 10 years after 2006. And even at their height they never represented the majority of all websites.
But also most SPAs aren’t any less HTML by hand than using PHP templates are.
Are you sure about that? Most of the mid-2000's jQuery components bundled their HTML and CSS in bespoke template strings within JS. If you remember, jQuery's `.css()` method accepted JSON to set CSS properties, and `.html()` accepted a string to set the inner-HTML.
And if you needed to manipulate strings to generate HTML, you'd be doing so with some kind of template mechanism, like string concatenation or substring substitutions. John Resig, author of jQuery, wrote Secrets of the JavaScript Ninja in 2008 [1], offering a small templating engine that does exactly that. The first commit in the Underscore library credits this book for their `template` method [2].
I think your chronology is skewed or confused. "SPAs" have been brewing in some form since the mid-2000's, when people stopped writing plain old HTML and CSS. Everything was jQuery UI widgets and AJAX, Prototype and Underscore templates. HTML died a very long time ago.
They were replaced by other WYSIWYG website editors like Wix and Squarespace. These replacements are evidence in favor of the original claim. The specific products are irrelevant.