Today I stumbled upon this really terrible example, of “How to create an admin panel”, it’s terrible in so many ways, that it made me cry. And yet it’s been posted on January 14th, 2012. I thought to my self, why don’t I share my knowledge in the field I’ve been working for the past 10 years. Not that it’s a rare topic, probably there are plenty of tutorials like this around the web, but for the sake of noting stuff down in a personal blog I’m going to do it.
In overall, jQuery and jQuery UI are really great. As for the former, and speaking purely in subjective terms, it’s the best thing that has happened to the web. But with great power comes great responsibility, so this post is about where jQuery UI team is making a mess.
First let’s talk about release cycle – it’s been almost two years since they announced the development of version 1.9, which would come with such a great tools as a menu and tooltip, but still no select-box (although the button element already can serve as a radio/checkbox replacement) . So for me it looks like the development is quite chaotical.
The browsers. Oh man, there are plenty of rants to tell about browsers. Don’t think that I’m a Google fanboy (I have an iPhone :D), but for now Chrome is the only browser that has gotten it’s s**t together – it’s fast, it’s standards compliant as hell (not 100%, but still sitting at the top of the charts). Firefox ain’t far from that, but it clearly can’t get it’s s**t together, as it’s consuming more RAM than Photoshop occasionally. And then there’s a little bastard named Internet Explorer – more like Internet Exploder (as it makes every developer a time-bomb, waiting to exploded in anger), as it’s slow, weakly complies with standards and it’s ugly as hell (which is not important in this article).
CSS. Yes it’s cool, yes you can do cool s**t with it, and yes it’s a nightmare. No actually CSS itself isn’t, but the implementation in the browsers is – dear browser developers, stop being so lazy and fix those bugs and stop breaking the web.
But yes, the biggest problem of CSS still lays in the standard itself – box model. I’d like to introduce the guys who made this brilliant invention, with my baseball club. No really, once you implement something like that – you can throw width:100% out of the window and any floating/fluid layout with it. Why couldn’t you implement that the width of an element also includes the border and the padding? Why, what was the reason? What were the main points of doing so? I understand that setting width:auto and display:block does the trick, but what about height? Screwed here we are, as Yoda would say!
There are thing’s that are too late to change – box model, for example, as many of the sites nowdays rely on this standard feature, and the change could really break the web. But anyway there are things you can implement as a parallel solution, like a new client-side language or do the standards properly.