Some Thoughts About the W3.CSS Library

The W3.CSS library is a free code library from the popular w3schools.com Web site (as opposed to the similarly named w3.org Web standards organization). The W3.CSS library wraps raw CSS primitives into easy-to-use abstractions, without using any JavaScript.

For example, if you add a reference to the W3.CSS library to a Web page, you can write HTML code like so:

Working with CSS directly is a pain, but that’s part of the purgatory of Web development. There are many CSS libraries and frameworks, notably Bootstrap, but W3.CSS appeals to me because, in general, I hate frameworks — even though W3.CSS is a library it’s pretty minimal.

For extremely simple Web sites, I’d be inclined just to use raw CSS — typically, I find an example site and scape off whatever CSS I need. But I can see using W3.CSS for medium-sized Web sites (where “medium-sized” is rather vague). I’m not sure W3.CSS would be well-suited for a large, complex Web site.

The larger issue here is the insanity surrounding Web development. Every time I go to speak at a software development conference, I see several talks titled something like, “A Quick Overview of Angular”, “VUE for the Unwary Developer”, and so on.

JavaScript-y frameworks are just about the most intellectually obnoxious creations in the history of computer science. I once inherited a Web application that had been developed for about a year but had been in hibernation for about three months. All the devs had left and I got a steaming pile of JavaScript frameworks dumped in my lap. Trying to rehydrate the project was horrible and the process took (I estimate) about ten times the effort compared to if the application had been written using plain HTML, JavaScript, jQuery (a counterexample to my cranky old guy ranting — I like jQuery a lot), and CSS.

Now, I’m well aware that every developer uses frameworks and libraries, even when they’re not identified as such. When I write Python code, that’s a wrapper over the C language, which in turn is a wrapper over assembly language, which is a wrapper over machine language. But there’s a sweet spot for libraries and frameworks and abstractions. But frameworks like Angular are just plain Bad. Very Bad.



Statues are abstractions of life. Not all abstractions are good. Dog and something on a mule. Huh? Flying babies. What? Little girl on Wall Street. Why?

This entry was posted in Miscellaneous. Bookmark the permalink.