While — and this may be a faux pas here on O’Reilly, but I hate the “Web 2.0″ moniker anyway — I believe firmly that Java could have a future as a desktop development environment, I don’t buy this at all.
The main problem with this 2.01 development model is you immediately drop what is making 2.0 work so well: integration. With the singular client (browser) the user gets a lot of value-add to every web application. While AJAX tends to work “best”, Flash in limited doses doesn’t change it much. And here I am really talking about little things.
As I write this post, for instance, I am using “resizable text area” and the Google Toolbar’s Spell Check in FF. These DRASTICALLY increase the usability of the O’Reilly blogging system, yet don’t require the server to know anything about it. Other plug ins like Piggy Bank and other whole browsers like Flock continue to dial up the functionality the end user can have without the app developer knowing or having to worry about it. With a fat client, the only real functionality the user gets is that which the developer deems worthy of writing. Even if such a client included a plug in architecture, it most certainly would never have the broad support or utility of things like CTXExtensions, Greasemonkey and the rest of the FF space.