I am now taking a serious look at JS libs and everything they do, in the past I have just used JS ajax scripts which are pretty much drop in and away they go. But I decided to look into the frameworks and get stuck in building some simple apps to see what they can do.

Firstly I found mootools and Jquery which seem quite slick.
But then I came across YUI and Jquery UI, the term UI 'User interface' suggested to me that they were tools for building the actual look of web apps, as in the whole thing!! Took me a while to work out its just another type of library! sheesh! I know kinda see where they are coming from, in that they provide user controls, interaction.

Now as I am getting deeper into it, looking at Ext js and Yui they talk about it being made of widgets than just a library, so now I am a bit lost about widgets.

So the point of this thread? Well for the following libs, which are hopefully all slightly different what are they, when do you use them, what are they best suited to, how easy are the effect to use? Lastly how easy is it to build something with them? oh yeah and what are widgets exactly.

Mootools
Ext js
YUI
Jquery UI