Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Should I migrate away from Applets and if so to what?

I'm a hobby programmer working on developing a Java game (JApplet) that runs in a webpage. I've already completed the coding and it runs fine when using Netbeans but I'm having a lot of trouble deploying it. I've signed it, and it runs in a sandbox mode. However, testing it on a number of different computers (mac and pc) and different browsers none of them seem to want to run applets easily.

Having looked into it, seems they present a high security risk (why browsers aren't keen on running them) and the search "Are applets dead/non used" turns up a lot of results agreeing. I have looked for alternatives and seen the following list.

  1. Java Web Start (apparently also dead)
  2. JWrapper (not sure I'm keen on third party supported code)
  3. Start again in Javascript/HTML5

I don't know javascript or html5 so that would mean starting from scratch so not keen on that option.

Java Web Start, maybe its not as dead as people say it is but I don't want to rely on something that may end up being unsupported by browsers in a years time.

JWrapper...seems to only run the application outside of a browser and I'd rather run it one. Also not sure about how long it will take to transfer from JApplet to JWrapper.

I'd really appreciate some guidance on this as I'm starring at three rather questionable options.

Many Thanks in advance

Update

Thanks for all your responses so far. It confirms my fears that I'm working on outdated technology!

I picked up on two things.

  1. GWT to convert Java to JavaScript: I had a quick look at this and though it looks like there is a small learning curve and might be able to do a quick fix this time around.
  2. The answer provided suggesting I should move to JavaScript and HTML5. My main issue is I'm not keen to spend six months learning a new language. Maybe I'm overly concerned about the learning curve. I program in C,C++,Java,C# so I'm pretty good at basic coding (imho) but I've never done any server side stuff. Anybody have any thought on how long it would take to learn?

Thanks

like image 376
Alex Ward Avatar asked Jun 10 '15 20:06

Alex Ward


People also ask

What is the replacement for applets?

Replace the Java applet with a web application written in a programming language with broad browser support. Transition the web-based applet into a full Java Web Start web-launched desktop application.

What has replaced applets in Java?

You can still relive the heyday of Java applets through UltraStudio, an online museum of educational applets, but Java has been mostly replaced by Flash and JavaScript for creating interactive programs on the web.

Why applets are not being used today?

Applets are a technology that are very much of their time, and they have not aged well. The technology proved to be very difficult to evolve, and so applets have not been considered to be a modern development platform for many years now.

Are applets deprecated?

Applets are deprecated in JDK 9, and this method is only used when running an FX application as an Applet in a browser.


1 Answers

If you're serious about it, you should definitely go with JavaScript/HTML5, because it's the only option available in all major browsers, including mobile versions.

If it's just a hobby, you can still use Applets for now, but note that Chrome, as well as Edge (new Microsoft browser that should replace Internet Explorer) no longer support Java plugin. Firefox should still support it for foreseeable future, but even they don't recommend using plugins like Java. Safari also supports it for now.

Update 1

Mozilla announced that NPAPI Plugins support, including Java, will be removed from Firefox by the end of 2016.

It means that the only mainstream browsers that still support Applets will be Internet Explorer (which is no longer developed) on Windows, Safari on Mac OS X, and nothing on Linux.

If you still prefer to use Java instead of JavaScript/HTML5, the only good option is Java Web Start. It only uses browsers to launch Java applications that don't interact with the browser once they are launched.

Update 2

Today Firefox 52 was released. Mozilla dropped support for NPAPI Plugins including Java (Adobe Flash is the only exception) starting from this release. Apple is preparing to do the same for Safari. Internet Explorer is the only major browser left with Java Applets support.

Oracle is deprecating the Applet API in Java 9.

like image 125
John29 Avatar answered Oct 11 '22 02:10

John29