Wednesday, October 29, 2008

The state of Applets - Java SE 6 Update 10

I've had my hopes up high since Sun promised to leverage Java Applets. Java SE 6 update 10, "Consumer Edition" was recently released. I dusted off the would-be-could-be shelf and took Applets for a spin ten years later to see if it delivers.

Competing framework Flash delivers what Java developers should have been able to do 10 years ago. But I've invested too much know-how in Java and Swing. So, what are my expectations?

  • Package as java app as .jnlp/webstart/desktop for distribution. All artifacts available from your repository on the internet with zero instructions or forms to fill to install

  • Applets are the first presentation of your app to your customers, integrated in a web page. Navigation around your applet is done in context of the site. No dialogs to ask you if you want to "trust the issuer" or "download flash"

  • When the user is comfertable with your app, they either choose to drag your app onto their desktop or download the .jnlp, and they have a shortcut to your app, and seldom visit your site

  • Upgrades are seamlessly upgraded without the user having to change his .jnlp file

Code Example

My experience anno October 28. 2008

Well... Obviously, OS X/Mac hasn't released the new version, and it won't be available until Steve says so. Pre-Java6u10 applets still "work" as before.

Next Round, Windows in Parallels. The version of Opera I had running obviously was using an older version of Java, so no automagic happening there. But mosing over to the test page with explorer rendered the new applets. The examples weren't sexy, and having 6 demo apps on one page made it all sluggish, but at least it worked.


Those 10 years weren't spent maturing Applet technology, and the promises of a Flash killer linger in the horizon. You need to be sure that your app will run on >80% of the web browsers before you do any heavy investing. The good part is that you can still package your app as webstart, and adding the applet to your web page requires little code!



1 comment:

  1. Sorry, but I'm not using applets or javascript regularly, and can't help you on the problem of remote-controlling applets. If there's a difference in how Java6u10 behaves, it could be that the API has changed either because of security, JavaFX or the possibility that applets can be "dragged" out of the browser onto the desktop. But this is a wild guess on my part.
    Thanx for the tip on the OBJECT Tag, though :)


Spam will be pruned