Jason Knight
3 min readMay 9, 2023

--

In other words working ten to twenty times harder, deepening the technical stack for Christmas only knows what, (apart from making bugs harder to diagnose), adding hundreds of K of library files just so you can write even more code, all whilst flipping the bird at the most basic of the underlying languages.

And people actually believe in doing things this way... it's insane.

As to failwind being different or better, it's just the exact same mental huffing midgetry. Pissing on the markup with classes for nothing, making you dive into the server-side code for cosmetic changes, blindly copying examples of gibberish markup telling many users where to stick it, making the server work harder...

WHERE ARE THE ADVANTAGES?!? The only alleged advantages I ever hear is "it's easier or better" -- HOW?!? In what delusional fantasy-land of ignorance is that even close to true?

Again, unless you can't pull your cranium out of 1997's rectum and dearly miss HTML 3.2 style development, the claims of merit are delusional propaganda and nothing else.

WET code is not easier. More code to wade through during markup generation server-side (shitting those classes on your JSX) is not easier. Ignoring basic semantics so for business you get your ass sued off is not easier or better.

It’s how you end up with crap like this:

export function Quotes() {
return (
<div className="text-zinc-800 dark:text-zinc-100">
<div className="mx-auto max-w-7xl divide-y-2 divide-gray-200 py-16 px-4 sm:py-24 sm:px-6 lg:px-8">
<h2 className="text-3xl font-extrabold">
What people are saying about open source
</h2>
<div className="mt-6 pt-10">
<dl className="space-y-10 md:grid md:grid-cols-2 md:gap-x-8 md:gap-y-12 md:space-y-0">
{faqs.map((faq) => (
<div key={faq.id}>
<dt className="text-lg font-medium leading-6">
{faq.question}
</dt>
<dd className="mt-2 text-base text-gray-500">{faq.answer}</dd>
</div>
))}
</dl>
</div>
</div>
</div>
)
}

Doing the job of:

export function Quotes() {
return (
<section className="quotes">
<h2>What people are saying about open source</h2>
{quotes.map( (quote) => (
<figure>
<blockquote>
<p>{quote.text}</p>
</blockquote>
<figcaption>{quote.author}</figCaption>
</figure>
) ) }
</section>
)
}

Since NONE of that presentation has any business in the markup, where that was used was not questions and answers and certainly not a definition list, etc, etc, etm.

I know which one I prefer to work with server-side, and it sure as shine-ola isn’t the one burdened with cryptic classes, presentation where it has ZERO business being declared, lack of media targets, general ignorance of the most basic of HTML semantics, accessibility, and usability.

But then I spent over a decade as an accessibility consultant. 90%+ of the crap people are throwing SPA at using garbage like React and Angular has NO business being SPA. Especially when the claims of being “faster” or “better” or “easier” for tasks like most websites is a bald faced lie and 100% fraudulent!

Thus why 90%+ of that website would/could probably be built in 4 hours using PHP and vanilla HTML/CSS without any client-side JS and the majority of existing users wouldn’t even know the difference… and probably gain users from all the people getting a giant white blank page of nothing suddenly having access. And shockingly enough use less networking, less server load, and be a dozen times easier to manage.

But nope, people get hooked on layering one latest hotness atop the other, and the result is — as I keep saying — using ten to twenty times the code and working ten to twenty times harder whilst pissing away efficiency, usability, accessibility, and every other reason websites exist.

--

--

Jason Knight
Jason Knight

Written by Jason Knight

Accessibility and Efficiency Consultant, Web Developer, Musician, and just general pain in the arse

No responses yet