14

In the past, java applets were unreliable, due to the Microsoft/Sun JVM split. Flash took over, and Java applets became known for browser crashes and performance issues.

Now that the JVM is enjoying resurgence as a platform for dynamic languages like Clojure and Scala, what is the current and future outlook for the JVM for in-browser applets?

  • Are browser vendors continuing to address stability and performance issues?
  • How much market penetration does Java have?
  • Given the JVM's resurgence, will applets also see any kind of resurgence as an alternative to Flash, or are they going to become obsolete entirely despite the JVM's success?

(Yes, HTML5 is the way forward for many, many things. It will continue to displace Flash and Java in the browser wherever it is most appropriate. That's not what this question is about.)

Marcus Cavanaugh
  • 374
  • 4
  • 12
  • 2
    I suggest making this a wiki otherwise it will more than likely get closed because it is a subjective question. – Chuck Conway Aug 19 '10 at 22:58
  • 11
    Hmm, my crystal ball tells me applets are already dead – Martin Aug 19 '10 at 23:04
  • I haven't seen a Java applet in a web page in nearly a decade while doing my own daily browsing. YMMV, but I wouldn't invest. – Ben Zotto Aug 19 '10 at 23:40
  • 1
    Neither do Browser Vendors care, nor do Sun or now Oracle. For example, there's an annoying bug under Linux where Applets in Firefox can't get keyboard focus(great for games *cough*). Mozilla blames Sunacle and they blame Mozilla, nobody even tries to resolve this bug in any way. – Ivo Wetzel Aug 19 '10 at 23:44
  • 1
    Scala is not a dynamic language. It is at least as static as Java. – Nathan Shively-Sanders Aug 20 '10 at 02:57

4 Answers4

6

Flash turned out to achieve what Applets tried to, and has done very well so. Small initial download, programs starts fast and run inside a web page.

That said, the abilities to launch applets were enhanced with the Java 6 update 10 revamping of the JNLP specification of Java WebStart, but I have not given it a closer look (we use Java WebSTart extensively for applications, not applets), and I suspect others haven't either.

Thorbjørn Ravn Andersen
  • 73,784
  • 33
  • 194
  • 347
  • 1
    I've always been excited about the use of Java for applets, and looked on in abject horror as it was adopted wholesale for business logic coding. I really despise Flash, partly because I strongly suspect it is incredibly insecure. – Omnifarious Aug 20 '10 at 01:21
  • 1
    If you don't know for sure that Flash is insecure, then perhaps it is a good time to have a closer look? – Thorbjørn Ravn Andersen Aug 20 '10 at 07:49
  • 1
    The only Flash player that actually works with all Flash content is closed source, so fat chance of that. – Omnifarious Aug 20 '10 at 18:02
  • 1
    My main complaint about Flash is that it's incredibly CPU-intensive to do even simple sidescroller games. Security... well... it's closed source, who knows. – Paul Legato Aug 26 '10 at 04:58
  • @Paul, but it has successfully filled the niche applets were intended to which was my point. – Thorbjørn Ravn Andersen Aug 26 '10 at 05:31
5

With JavaFX Sun has improved the Applet plug-in in term of stability and start-up time. The latest browsers support the new Java plug-in. It's now also easier to create it's own start-up screen with progress bar.

In term of deployment 60% of people have Java 6 installed (riastats.com), 93% have Flash 10 installed

In term of usage, my opinion is that users don't care the technology used. They care about about things like: does it work? does it look good? does it start-up fast? does it do something useful/fun? is the application easy to use?

Anthony
  • 1,245
  • 1
  • 16
  • 15
  • The question at the end of the answer are all the relevant ones. Now in 2014 one can say that Java applets just didn't answer these questions good enough. Even Flash seems to be on the retreat and HTML5+JS is expanding. – NoDataDumpNoContribution Apr 02 '14 at 11:32
3

Java applets are dead. The lack of broadband early on contributed mightily to it's early demise. The fact that the Windows JVM was locked to a 1.1 version for so long was the other nail.

Java webstart provides something far better - on demand delivery of Java apps, caching, and automatic updates, without any of the browser integration woes.

Applets are dead. XMLHttpRequest came along and fulfilled most of the reason people were using applets to begin with.

Chris K
  • 11,996
  • 7
  • 37
  • 65
2

To put it simply, you reach a lot of people through mobile devices now, and you'll be reaching people through mobile devices more in the future. Mobile device OS makers don't want to support the JVM on their mobile devices, and I doubt Oracle will want to either.

Stick with the standards. HTML5 and Javascript is still the way to go if you want to make a web app.

JVM languages are definitely enjoying a resurgence, and I'd imagine they continue to grow in popularity, but they will not (and, AFAIK, are not) using them to write applets.

Applets aren't integrated into the system, they're not well supported, and they're nasty resource hogs. Keep the JVM on your server where you get the full benefit from the JIT and the rest of the power of the JVM.

Isaac
  • 15,783
  • 9
  • 53
  • 76
  • 2
    More mobile phones than EVER are running Java. J2ME exists almost solely for that purpose. Java phones were running games and apps long before the iPhone was a glimmer in the eye of Steve Jobs. – Chris K Aug 20 '10 at 13:08
  • Lots of phones can run applets withing their browser? This is news to me! – Isaac Aug 20 '10 at 14:19
  • 1
    Quite the contrary. Surely you've seen the news about the explosion in sales of Android phones in 2010, and that trend looks set to continue. Java is the main development language for Android. Granted, they're not "applets," and it's not a "true" JVM (long story short, Sunacle charges what Google regards as exorbitant licensing fees for J2ME, so Google did a cleanroom reimplementation of the Java spec, with proprietary extensions, called Dalvik), but it's definitely Java. The future is looking better than ever for Java on mobile devices. – Paul Legato Aug 26 '10 at 05:03