Are applets making a comeback?

Good old applets -- do they deserve a place in your RIA toolkit today?

Once the darling of the Internet, applets have fallen on hard times, largely ignored in favor of newer technologies such as Ajax, Flex/Flash, and Silverlight. But Sun Microsystems is pushing hard for renewal on the client side, and some say applets are part of that vision, along with Java SE 6 update 10 and JavaFX Script. Is it too late for applets, or can they make a comeback? In this JavaWorld feature, Jeff Friesen poses that question to leading thinkers and doers in the Java developer community, as well as presenting his own conclusions. Also see "The new applet experience," a short experiment in developing a "rich Internet applet" using JavaFX Script and key technologies found in Java SE 6u10.

Java applets generated considerable excitement when they were first introduced, but factors have conspired, since then, to cool developer and end-user enthusiasm for them. These days applets have largely been forgotten by Java developers working in the RIA (rich Internet application) space. When we think of writing browser-based, consumer-friendly applications, most of us think of Ajax, Flex/Flash, or Silverlight. None other than Bruce Eckel has pronounced applets dead for RIAs -- and he's not the only one who has said it.

Talk to Sun engineers working on Sun's consumer and client-side initiatives, though, and you get another story. They'll tell you that news of the demise of applets is premature. Consumer and client-side technologies JavaFX Script, Java Media Components (JMC), and Java SE 6 update 10 (formerly Consumer JRE) were all in the spotlight last year at JavaOne 2007, and they feature heavily in this year's lineup, too. Reports back from some developers (including this one) who have played with Java SE 6u10 and JavaFX Script are good. Add to that the possibility that JMC could be included in Java SE 7, and the future of applets begins to look brighter.

The question for many of us is whether it's just too late for applets. Java SE 6u10 unfurls a small army of technologies whose sole purpose is to improve the Java end-user experience -- including the Java Deployment Toolkit , Java Quick Starter, Java Plug-in, and the Java Kernel. JavaFX Script and JMC add further muscle by providing concrete -- and even exciting -- alternatives to Flex/Flash and Silverlight. The problem is that most Java developers have already given up on Java on the client side, and bought into the promise of slicker technologies that caught that wave when it was coming in, rather than chasing it, as Sun seems to be doing today.

To investigate the potential of Java on the client side, and of an applet comeback, I posed a series of questions to some of the most respected thinkers in the Java developer community. Some have professional stake in the future of Java on the client (Danny Coward) while at least one other could be said to have migrated to the Adobe dark side (Chet Haase). Striking a balance between these poles are Java technology educators Cay Horstmann and John Zukowski, platform agnosticists Ted Neward and Romain Guy, and Jim Weaver, whose experiments with JavaFX Script have aided my own learning.

I thank these gentlemen for taking the time to answer my questions.

Bad applets never fall far from the tree

JRE deployment in controlled environments
Although JRE deployment is a major issue facing the average user, it's less of an issue for large companies with managed networks.

The truth about applets is that they are blamed for many problems for which they are not at fault. Perhaps the most important of these is JRE deployment -- getting the correct version of the Java runtime environment installed (and in a timely fashion) onto a user's machine so that an applet is able to run at its best. Poor performance is another problem, first due to the so-called "Java cold start" and second due to the unreliability of the JVM itself. Finally, the Java platform itself (and not just applets) has been a poor vehicle for developing rich, interactive user interfaces.

1 2 3 4 5 6 7 Page 1