25 Dec 2005

Java Web Start - the forgotten option?

All the buzz nowadays is about web applications. Accompanied by criticism of the browser as a lame UI. Projects are underway to remedy this - Mozilla's XUL (but it doesn't use the OS's native widgets), Microsoft's XAML, etc.

But there is another option available today - Java Web Start, which allows applications to be launched from the browser. Yes, it's different - the apps run on the client. But they have the same advantage as a web app - installation isn't needed - and several more:
  • Apps run outside the browser window, which may sometimes be better (from a UI design standpoint).
  • Apps can be configured (by the developer) to launch from a local cache while doing a background check for an updated version (which runs the next time onwards).
  • They can run in an offline mode.
  • They can have access to the local filesystem (if they're signed and the user trusts the signer).
  • They can optionally be launched from a desktop shortcut.
  • You can code in Python (Jython), Groovy, Nice, Java, or any of the other languages that run on the JVM. Whether this is an advantage depends on the people and the task at hand.
  • The Java libraries are far more extensive than those of Javascript.
  • The load on the server could be reduced, and some of the client's resources can be used (which would otherwise probably go unused).
Did you notice that this pretty much describes a traditional desktop application?! But with the advantage of a web-based one! Web Start blurs the distinction between a local app and a remote one. It would be very interesting to see (Java) apps being distributed this way.

Web Start is certainly not a replacement for AJAX, XUL, XAML, etc, but it seems to be a valuable tool to have in your toolbox.

With Javascript supporting canvases, you can probably have a rich UI within a web page, by drawing custom controls. That's an interesting idea; I wonder if it's workable and worthwile... but the other advantages of Web Start remain.

No comments:

Post a Comment