Evaluating Javascript libraries at work and I initially decided upon Dojo. It had some nice features, lot's of widgets and some great unit testing stuff. Now that I've actually sat down and started to play with the code I've had to change my mind. Dojo is bloat-ware. For instance, the 'Hello World' tutorial has the following code:

 <style type="text/css">
        @import "ui/javascript/dijit/themes/tundra/tundra.css";
@import "ui/javascript/dojo/resources/dojo.css"; </style> <script type="text/javascript" src="ui/javascript/dojo/dojo.js" djConfig="parseOnLoad: true"></script> <script type="text/javascript"> dojo.require("dijit.form.Button"); </script> </head> <body class="tundra"> <button dojoType="dijit.form.Button" id="helloButton"> Hello World! <script type="dojo/method" event="onClick"> alert('You pressed the button'); </script> </button>

Pretty simple - it just generates a button and when you click it says "You pressed the button". This will load 27 javascript files and take around 2-3 seconds (on my server atleast). What's wrong with:

<button onclick="alert('You pressed the button');">Hello

You don't want to know how many files the WYSIWYG editor has to load!

Oh well, back to the drawing board.