CSS abstraction

The web is ever changing and nowhere else is this felt more strongly than in the web stack. HTML seems pretty stable even though many web developers seem to be ignoring the enriched HTML5 spec. If it doesn’t have a specific visual rendering why use it? It’s effectively a div anyway, right? If you don’t care about the markup you’re probably not a front-ender.

JavaScript is the new poster child, the prodigal son returns all grown up. I’ve come across some strange situations where some have a tendency to equate JavaScript with the front-end. Like they’re interchangeable. This isn’t true of course, it’s laughable. JavaScript has or rather is evolving into a significant language for writing applications. Finally JavaScript is having its day in the sun after being ’merely’ used for the UI. If this ‘UI’ part of JavaScript doesn’t interest you then you’re obviously not a front-ender.

Now, some seem to have missed it but CSS has been on a bit of roll the last few years. Transforms, transitions and more selectors you can shake a stick at. The addition of pre-processors has made it less unwieldy and concise, a developers dream. With the whole (Twitter) bootstrap thing making sites and a application became considerably less painful. Somebody else has done all the leg work so we stick CSS back in its box. Abstract the knowledge away and we can all live full and productive lives. The thing is that this almost never true, there is always, at the very least a tweak and a polish required and readymade GUI’s only get in the way. It’s the bad old days of (web)application frameworks like JSF all over again. If you think you need to abstract CSS away then the odds are that you’re not a front-ender.

In fact, if you believe that JavaScript represents your front-end, HTML is just a container and CSS is a hook for some third party add-on then you’re likely not a good web developer either.