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.
I'm always impressed by how many excellent products John and the jQuery team produce.
Out of curiosity, how does John earn a living?
I saw him speak at the Philly Emerging Tech conference last year and his talk convinced me to switch over to jQuery from Prototype (those were the days). Do the speakers get paid much for their presentations?
Many technical conferences cover flights and hotel but don't pay a speakers fee. My experience is that speakers are usually paid for 3 hour tutorial sessions but not for 45 minute conference sessions or panels. Keynotes are much more likely to pay than regular sessions. Some of the more high-end conferences do pay their speakers, especially if they rely on "big names" rather than just topics to pull in their audience.
It's a chapter from the latest book by Scott Berkun (the author of "Making Things Happen") about public speaking and it mentions some numbers for how much speakers can get paid. At the very bottom, he writes that he's averaging $100k a year right now, from books and presentations. Just a few data points.
Ok, that's absolutely not true in the tech world. I was chatting with some friends that also speak frequently to developer-centric audiences and we were all commiserating how hard it is to get basic necessities when speaking - it's a challenge finding conferences that will pay for a hotel room, let alone actually pay you to speak at the conference. Really the only time you can ever expect to get paid to speak is if you're doing training or a workshop - conferences are a complete wash.
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?