While I find jQuery to be a delight to use, jQuery UI, is nowhere near what I would want/need it to be to build pure JS applications. The widgets it provides (accordion, datepicker, dialog, progressbar, slider and tabs) are not sufficient to define all of the UI in JavaScript in a clean way. No matter what you do you still have to define a lot of stuff using pure HTML.
Contrast this with ExtJS, where you can lay out the UI in pure JavaScript. Is anybody aware of anything like this built on top of jQuery?
Our team tried both. Originally we had a real JS guru on the team, and he wrote a ton of code against ExtJS. It was good stuff, but very difficult for anyone else to understand. He ended up leaving the company, and I inherited the front end code base. The project got put on hold for a while, and we decided to take a fresh start. I went with Jquery UI rather than ExtJS, because it just felt too much like you had to drink the kool-aid with ExtJS. Our team was more comfortable with a hybrid approach.
Every form we write is in bare bones partial HTML, and we use some juiced up JQuery UI Dialog code to display the forms as modal pop-ups. Additionally, we use the UI themes and their css classes even for non-JQuery Ui components, that way when we switch themes, all the elements change, not just the JQuery UI ones. There are only a couple of palatable themes available, but on the whole, it's been nice.
Your situation sounds strangely familiar :)... My opinion is that if I am going to design a form that is going to run in a JavaScript app, I should be able to do so in pure JavaScript. For example:
form = new UberUI.form();
form.append( new UberUI.input( {type: "text", name: "login", label: "Login:", validator: myValidatorFunction} ) );
...
form.show();
On a different note, jQueryUI is much more theme'able than ExtJS, which is great.
ExtJS can actually be used with jQuery. Since it's a widget library, they've chosen to be DOM library agnostic. It currently supports their own base, jQuery, YUI, and prototype.js. They talk a bit about how to use the different bases here: http://www.extjs.com/blog/2007/08/01/ext-v11-released/, but that post is really old. It may have changed in the time since, I don't know.
AFAIK, you can use jQuery as an ExtJS adapter, instead of the native one. This is only useful if you are adding ExtJS to an existing app that uses jQuery.
It's a subset of jQuery that they've extracted and baked in with the rest of SproutCore's UI elements. They've also introduced a way to design your UI with state charts (very cool).
Of course, there's also nothing preventing you from just using the full jQuery library with SproutCore.
Contrast this with ExtJS, where you can lay out the UI in pure JavaScript. Is anybody aware of anything like this built on top of jQuery?