views:

223

answers:

5

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.)

A: 

If I was a company looking at investing further into Java I would pause. After Oracle's lawsuit against Google, I would question a future the Java platform.

Chuck Conway
No, and no again. Oracle sued Google not because they were using the JVM or Java but because they were *not*. They have their own implementation called Dalvik. It perhaps uses patented technology owned by Sun, and now Oracle. Stop spreading misinformation.
Isaac Hodes
@Isaac - Chill bro. Re-read my answer, it an OPINION.
Chuck Conway
Absolutely, and I'm not upset at you. I'm upset that the story re: the lawsuit has been misrepresented and is being distorted. Your opinion is one thing, but implying that Google is being sued because they're using Java is just *wrong*. Nothing against you here.
Isaac Hodes
One thing that bothers me about StackOverflow is people handing out down votes when they do not like an opinion. It is one thing if that opinion is technically wrong but what is really wrong with this answer (other than lack of technical content)? Regardless of the details of the Oracle/Google lawsuit it will almost certainly negatively impact the Java brand going forward and that could be a concern for some. Java is more than successful enough that this would not worry me personally but I recognize that this is just my opinion and that other opinions are valid.
Justin
@Justin: I pretty much agree. That's one of the reasons subjective questions tend to get closed here, to avoid this kind of stupidity.
Omnifarious
+1  A: 

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 Hodes
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 Kaminski
Lots of phones can run applets withing their browser? This is news to me!
Isaac Hodes
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
+4  A: 

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
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
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
@Thorbjørn Ravn Andersen: The only Flash player that actually works with all Flash content is closed source, so fat chance of that.
Omnifarious
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
@Paul, but it has successfully filled the niche applets were intended to which was my point.
Thorbjørn Ravn Andersen
+1  A: 

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
A: 

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 Kaminski