Are Java applets really "dead" for indie developers?

I think I’ve heard from some topics around here that Java applets are “dead”, because you have to pay for a cert or something. Is that true, or did I mishear something?

Not for that reason so much I think, but yes. They are well and truly dead. Don’t bother.

What would you say the reason for their demise is? Just kind of wondering.

https://www.google.com/#q=why+are+applets+dead

Funorb (http://www.funorb.com/) is pretty successful and it’s games are applets.

Totally dead more or less. Even the old stalwart Flash has had its day and has been put out to pasture. You have Apple to thank for it mostly, and a general move towards doing everything one way (JS/HTML/CSS)

Cas :slight_smile:

tl;dr: Yes, applets are dead. I would be ecstatic if they were brought back to life through some miracle Frankenstein monster, but I’m not holding my breath. Deploy as a jar or a packaged executable instead.

Shameless self-promotion: I wrote a little blog/tutorial explaining the problem with applets available here: http://staticvoidgames.com/tutorials/deployment/history

But basically, a few years ago people realized that applets contained security problems that would allow badguys to run arbitrary Java code on your computer without your knowledge. This is very bad and actually cost me a reformatting.

Oracle reacted and fixed the problems, then people would find more problems, Oracle would fix them, back and forth for several months. This gave applets, and Java as a whole, a pretty bad name- even though there’s nothing wrong with Java, just with applets (and those problems are all fixed now anyway). You’ll still hear “I heard Java was insecure” from people who don’t really know what they’re talking about and just remember reading about the original exploit.

Despite the original problems being fixed, Oracle decided to make it pretty much impossible for the problems to come back: now you get a big security warning whenever Java is run (so Java can’t run without your permission anymore), and all applets have to be signed. Generally you sign an applet by purchasing a certificate and using that to verify your identity, but you can also sign it using a free certificate- but for that applet to work, your users have to change their Java security settings.

Now end users have heard that Java applets are insecure (even though the problems are fixed) and are faced with big ugly security warnings whenever they run an applet (even though the warning is just telling them that Java is about to run, most end users don’t know what that means and think something evil is happening). Now developers either have to buy a certificate (which isn’t an option for most people) or walk their users through the process of changing their security settings (which isn’t an option for most people).

Couple that with the general clunkiness of applets, especially compared to html5 and javascript. Compare a html5/javascript game or application that “just works” on every system to the Java applet plugin which only works for certain operating systems and browsers, does not work on mobile at all, must be updated and displays warning messages that the user has to read and click through before running anything at all. Which do you think end users prefer?

A few places still use applets. My day job still deploys applets (we have a certificate) and OpenProcessing is still mostly applets (they try to walk users through changing security settings), so you can still see both approaches “in the wild”. But it’s definitely the minority.

I don’t believe FunOrb was ever a tenth as successful as RuneScape, and it’s currently on ice. I think only one of the original FunOrb programmers is still at Jagex. There’s been talk about some kind of revival, but it might be a port of suitable games to Android and/or iOS to join Bouncedown, Star Cannon, and Miner Disturbance.

It’s quite doable to develop things in Java for web environments, only it’s not done using Applets anymore.

Try Google Web Toolkit, for example. Write Java, compile to Javascript & run in the browser. No plugins required. Or develop your game in LibGDX and deploy to HTML5. That’s where the future lies, for better or worse.

They’re pretty much dead.

However, as Grunnt said, there are things like GWT which can act as alternatives.

  • Jev

I would say GWT is equally dead :slight_smile:
It’s a beast that even Google abandoned long ago.
People doing web apps these days seem to use the new JavaScript frameworks and tools like AngularJS and others.

Where did they say they abandoned it?

Unless I’m missing something, converting to open-source != abandonment.

I wouldn’t call GWT dead.

Last release was 2.6.1 on May 10, 2014.

I know that we have at least two product GUIs that use GWT, and know of at least one other major enterprise application that uses it that is in active development.

Granted, plural of anecdote isn’t data and all that, but still.

Could you expand upon why you think it’s dead (or dead man walking)?

Processing also offers an approach to working in Java and deploying to JS, with 3D (WebGL) support - http://processingjs.org/

Given what possible in JavaScript nowerdays,

(check this demo out)

Its a bit depressing to see the demise of JavaApplet.

If Oracle would have taken a more end-user oriented approch (Applets as dedicated Multmediasolution)
Java could still be a big player in online content.
Im thinking more of a “Adobe Flash” type of multimedia plugin - that is beeing controlled by Java bytecode, instead of just sandboxing a complete programming environment
also ment for business backends.

Many people would argue that Flash is dead too.

By default, it doesn’t use WebGL! We’ve gotta pass P3D or OPENGL as the 3rd argument for size()!

Actually, GWT has become Dart: https://www.dartlang.org. :wink:

Hi

As far as I know, you can make “untrusted” self-signed certificates by yourself for free of course (even though they are almost useless now with the default security level) but it is still possible to get a “trusted” certificate for (almost) free too with Certum.

WebGL still has some performance problems, most of them haven’t gone since I wrote this article. I used OpenJSCAD today under Windows with an Intel Q35 Express and a NVidia Quadro 600, the frame rate wasn’t stable even when displaying the first very basic mesh at the beginning.

The applets are going to become completely unusable soon when several major web browsers will drop NPAPI, the Java Plugin will become completely unusable. Forget Java Deployment Toolkit, applets and Java Webstart.

Kevin’s tool seems to be fine and well documented.

JogAmp already supports something like Damocles’ suggestion, it was showcased at FOSDEM.

Actually, as most major organizations behind the web browsers decided to banish plugins on the long term even though it doesn’t solve any security concerns, it just moves them elsewhere, Java can survive only with Bck2Brwsr & Co. (Java to JavaScript solutions) and as a second class citizen in standalone applications startable from the Web. The problem is that the second option might disappear too :frowning: The first option isn’t very attractive on my view because JavaScript isn’t as portable as Java, I don’t want to have to debug my code on tens combinations of OS + browser.

Personally, I just put my fat JAR into a native self-contained application bundle with a VM (OpenJDK). I made it work under Mac OS X, I still have to work a bit to do the same under GNU Linux (very easy, all building blocks are ready) and under Microsoft Windows. If the major web browsers and operating systems become completely parano in order to force us to pay the tolls and use the app stores, my solution will become less interesting even though it’s still possible to sign the bundles.

So essentially what I am getting from all of these posts is “Java applets are dead. Use something that would compile to JS like GWT”?