The Google Web Toolkit allows you to write an application in Java and “compile” it to “AJAX”.
This is cool because it means that you could use Eclipse to develop these sorts of applications and not have to worry about the ridiculous variations in web browsers. Whilst insanely useful (and interesting to know how GMail and Google Calendar were written!) this does still feel like a bit of a hack to me.
It all feels like a stop-gap solution to a bigger problem which is using the web as a platform for applications as well as webpages. The ideal solution would be a standard which all browsers actually follow for asynchronous communication with a server and a new markup language for user interfaces other than HTML, sort of like XUL but more generic like UIML. I guess the problem is that these things take time, lots of time.
I’ve mentioned before the need for a very generic User Interface Description Language (UIDL) which can be transported over networks and mapped/bound/transformed into various different graphical environments on the fly – ranging from a web browser to GTK to a physical device with buttons and LEDs!