HTML, CSS and JavaScript Frameworks - Incompetent Nonsense

*WARNING* This article may contain strong language, hate-mongering and outright name-calling. If you are a thin skinned wuss who wouldn't last five minutes in a real job under a real boss, do us all a favor and piss off. This particular article is going to contain a LOT of venting on my part over my disgust with the direction web development has taken the past five to seven years, resulting in painfully slow, bloated inaccessible train wrecks of how NOT to build a website!

Some people may take offense at my use of the word "incompetent" in regards to the use of frameworks like jQuery or Bootstrap. The simple fact is that if you are using one of these by choice, it is entirely likely you simply do not have sufficient knowledge of HTML, CSS or JavaScript to have an informed opinion on the topic! They do nothing but encourage sloppy coding habits, prevent people from learning the underlying technology, and actively promote design and development concepts that are little more than a giant middle finger to users!

Inigo Montoya "Easier?!?"

Repeatedly you'll hear wild unfounded claims of how "jQuery is easier", "Grids are easier", "Blueprint is easier", "Bootstrap is easier" -- and every time I look at these bloated train wrecks of developer ineptitude, I can only think that I have a slightly different definition of the word "easier" than the morons, quacks and fools promoting such drek. I simply cannot concieve of how any of these are actually "Easier"!

Let's start with what used to be my favorite whipping boy for everything WRONG with modern development: jQuery. Whilst before it came along there were a good number of "framework" type libraries out there, jQuery became almost a de-facto standard that people started throwing at everything regardless of if it was the correct tool or not. At one point a few years ago it got so bad that if someone asked on a forums "how do I make a link turn red on hover" some mouth-breathing halfwit would chime in with "Use jQuery!". HERPA! FREAKING! DERP!!!

jQuery is, by web standards -- MASSIVE. It is the pinnacle of code bloat particularly when around 80% of it is stuff that CSS3 can now handle without scripting! Even whitespace compressed (aka minified) it hovers between 90 and 100k; that's three times the upper limit I'd ever allow for ALL scripts on a page! That is by itself minified larger than I usually allow my HTML, CSS and Scripting combined to reach not counting content!!!

How it works is grossly inefficient and simply is not how JavaScript was meant to work. This makes it slow, teaches sloppy coding habits, and in general makes it unsuitable for use if you care at all about users actually using the site. To put it as plainly as possible everything I've seen done with jQuery falls into one of three categories:

  1. Things that would be simpler and less code without jQuery
  2. Things that are CSS' job
  3. Things that have zero damned business on a website in the first place!

I cannot fathom how anyone would use it by choice apart from a healthy mix of ignorance and ineptitude.

Though in recent years, jQuery has been unseated from the throne of "dumbest developer shit on the Internet" by some CSS and HTML frameworks that for all intents and purposes defeat the entire reason HTML and CSS exists, much less pisses on concepts like "separation of presentation from content", "graceful degradation", and "semantic markup" from so on-high you'd think the Almighty just got back from a kegger!

It started with some real garbage that only a handful of fools would use - YUI, Blueprint, Grid960... but really nobody serious was looking at them and only rubes, nubes and suckers gave any of them a second glance. They were all flawed in philosophy relying on presentational use of classes, excess wrappers for no good reason, and bloated code that anyone qualified to make a website instantly recognized and dismissed as being as much of a joke as WYSIWYG editors.

Knee deep in it You might need more than
just a stick!

But a few years back with CSS3 and responsive layouts becoming a thing, a new kid entered the fray and has taken off despite being just as flawed, bloated and moronic as it's predecessors. I am of course referring to Twitter's "Bootstrap".

I often call it "BootCrap" for a reason, as my best advice to anyone duped into using it is to go find a stick to scrape it off with, before you go smearing it all over your website's carpets!

Much like previous "frameworks" it relies on needlessly vague and cryptic classes, slapping classes on extra wrapping elements willy-nilly instead of leveraging the semantic markup, creates design elements that are the antithesis of accessible design with concepts like multiple equal height or fixed height elements, and a host of other sloppy nonsensical practices that result in writing more markup, more CSS, and yet somehow people magically think that doing more work is easier?!? Just what the **** is in that kool-aid?

A good deal of this asshattery finds its origins in a concept introduced about a decade ago called "Object Oriented CSS" -- the crazy idea of making classes for every css behavior you want so that you just string together the classes you want in the markup. How the hell is that ANY different from the presentational pre HTML-4 Strict garbage we were told to stop doing back in '98? The answer is not one damned bit. It's the same bullshit, just repackaged to use more CSS to write presentational markup! See "Failure to grasp the point of CSS in my What's wrong with YOUR website article.

The end result of all this framework nonsense is people wasting hundreds of K or even megabytes of scripttardery and CSS in dozens if not hundreds of files to do the job of 16 to 32k of code in two or three files! WORSE it makes people sleaze out four to ten dozen k of markup to do the job of one or two dozen...

Which again, writing more code is easier HOW exactly?!? confused

Search Rankings to the Rescue?

Lately many search engines - as always Google leading the charge - have started penalizing pages for being slow loading, overusing Javascript, and being content-lean with more flash than substance. This means these fat bloated frameworks and their "gee ain't it neat" nonsense that adds nothing of actual value to pages, and compromises usability are in fact now at risk of being slapped down by search.

Inigo Montoya Well hello Mr. fancy pants!
I got news for you pal...

This is spurred by the reaction of many users to this nonsense, getting sick of not being able to find actual content or even use a page thanks to broken frameworks, broken layouts, pages that take forever to load even on broadband, and a host of other failings that are directly caused by developers being sleazy, lazy or just plain unqualified to be developing but two things; Jack and Shit... and Jack left town!

So please, do yourself a favor, do visitors to your websites a favor, and avoid these idiotic halfwit dumbass dipshit "frameworks". You are only making your sites less useful, harder to maintain, slower, more expensive to host, and generally plowing asunder everyone from the site owner to their clientele in the process!

See Also: (other articles)

Projects

  • elementals.js
    A lightweight JavaScript library focusing on cross browser support, ECMAScript polyfills, and DOM manipulation.
  • eFlipper.js
    An image carousel script using elementals.js
  • eProgress.js
    A JavaScript controllable progress bar using elementals.js. Based on the nProgress project that relies on the much heavier jQuery library.

/for_others

Browse code samples of people I've helped on various forums. These code snippets, images, and full rewrites of websites date back a decade or more, and are organized by the forum username of who I was helping. You'll find all sorts of oddball bits and pieces in here. You find any of it useful, go ahead, pick up the ball, and run with it.