Since we all think differently (at least to some degree) in the same way that we have
So, when I say I prefer Yahoo's User Interface (YUI) library, I don't intend that
everyone should adopt it, only that of the ones I tried, it's far and away my favourite.
As a test, I wrote the same code using each of these libraries (except jQuery),
and here I report my experiences.
o The Dojo Toolkit at http://dojotoolkit.org/
To start with, Dojo looked promising, but as with Ext I soon found the documentation
inadequate, and I wasn't really doing anything sophisticated.
Comments by other users on their forum helped significantly, but I immediately felt
that if every step was going to require scanning many posting to see how to actually
do anything, progress would be painfully slow.
So, exit Dojo.
o Ext JS at http://extjs.com
It's a very elegant way of doing things, but there's a catch.
for that's the combined size of the Ext libs.
the object literals and turns them into executable code.
Of course, the ideal situation is that you send all that to the web client as
infrequently as possible, and thereafter you use Ajax to do the work.
Their web site does offer a way of building a customized set of features, which
would have to be repeated each time you incorporate new features into the set
you are using.
The major disappointment for me was that as soon as I wanted to do something not
involving a default, I found the documentation often very superficial.
As with Dojo, I found useful comments from other users' feedback, but they had had
to scan the source code to determine what was possible, and how to do it.
Lastly, the docs are confusing in suggesting what files to include in your web page,
since one of the file names mentioned exists in 2 versions in the distro, and the
docs don't tell you which one to use. A quick test using one failed, where the other
succeeded, but it was another, albeit small, black mark against Ext.
But, this is all too much like hard work, so
o jQuery at http://jquery.com/
jQuery is based on the assumption you like endless method chaining. If you don't, too bad.
It's a specific way of designing syntax which allegedly matches the way we think.
As it happens, that for me is a huge turn-off, so look elsewhere for a review.
As an aside: There is a beautiful Perl module called accessors, which comes in 2 versions,
with and without method chaining. Obviously I use the latter.
o YUI at http://developer.yahoo.com/yui/
Now, this one I like.
It can be included file by file, depending on the features you want, or you can use the
YUI Dependency Configurator to get a customised set of files.
A major plus for me was the extensive documentation, which spells out many examples
in a way which shows how simple code can be progressively extended.
Using YUI I've been able to produce a beautiful application, although as I indicated
What matters to me, and indeed to each of us, is that we feel comfortable with our
chosen tools, and for me YUI is the best. YMMV.
One last comment: the Perl module JSON::XS is highly recommended because it provides
an extremely neat and simple way of converting a Perl data structure into exactly the