The Web Standards Project points to a post, Dear JavaScript Library Developers by Chris Heilmann, which makes some excellent points about the difficulties in using today’s JS libraries.
In particular, I want to point out Chris’ last point:
Don’t play the “mine is smaller than yours” card. It gives the wrong impression to new developers as they might be tempted to think that your short wrapper methods are all that has to get executed. We all know that they have to be converted to native JavaScript and DOM methods before execution.
This is a key item, because many of the new ‘Ajax’ libraries are focused more on making JavaScript look and act like Ruby or Python, than necessarily packaging functionality into easier to use units. Many of the libraries, in fact, are more difficult for new JavaScript developers to work with than raw JavaScript.
There’s an interest in making JS development more robust; to add in new discipline; to bring in the concepts contrived in the ‘real’ languages. What happens, though, is that you may end up actually processing more JavaScript just to get these ‘rigorous’ enhancements, than if you just use simple JS.
Not to say the libraries aren’t good, just that the more we get caught up on the mechanics, the more cryptic our offerings, the more inward looking our results, the less universally useful the end result will be.
Ultimately, all of these libraries convert to native JavaScript and DOM methods before execution. This is the scripting equivalent to we all put our pants on, one leg at a time.