You might have more fun with applets, as you can show your progress very quickly to others.The downside is that its (a little) more work to pack and run them.But doing these packing, running steps is a good training.

An important difference is that applets have tighter restrictions of what they are allowed to do.But if you dont want to write files onto harddisk or open an online connection, you wont have to botherabout these restrictions too much.

I've been debating which I want to program, and want to make an informed decision.

Applets are nice for the final users especially when they are unsigned, they have (almost) nothing to do but using them adds a non homogeneous "layer" : the web browser. It adds a variant. A given Java program can work on various combinations of operating systems, graphics cards, etc... Using web browsers adds another source of bugs too, look at bad support of applets on Chrome, the changes of the way to access to the OpenGL context in web browsers on Mac OS X... Therefore, maybe use applets only for a game using a few resources and not too much external libraries. Applets work better now than 5 years ago.

Applications are a bit heavier to install, you can use installers like GetDown (a lot of people here like it), IzPack (very professional but needs a real effort to create your own installer with it), Java Web Start (a bit buggy but extremely simple to use) or native installers. When your installer works fine, you will generally have less bugs than with applets because you don't really rely on the web browser except a very little bit for Java Web Start (Chrome adds a scary supplementary warning when the user clicks onto a JNLP link). Don't package your applications into a single downloadable JAR as WinZip might open it which is not what you want (Java Web Start is nice to work around this problem). In my humble opinion, Java Web Start is nice for games in beta version, people automatically get the updates, it is very simple. If it is not enough for you, when your game becomes more popular, switch to better installers. Of course, you have less restrictions when using an application.

When Java Web Start is used by default to open JNLP files, "Open With" does not appear. Therefore, when Java Web Start is used for unsigned applications, the user only has to click once on the link and once for all on "Open With", not twice for all Java Web Start applications. When the application has been successfully installed, the user only sees the progress bar when this application requires an update and this progress bar appears with a different look in applets. When avoiding applets, you avoid problems of the plugins for all browsers; maybe that's not your problem but it is a problem for programmers trying to provide cross-platform APIs running on all browsers and that is why I won't waste any time with applets even though they are fine for casual games.

Plus, weirdlooking popups scare every average user who is used to the seamless experience of Flash.

The scary popup appears when using a signed applet too and it is possible to hide the big popup "Java starting". Please don't compare Java to Flash. Flash is almost unable to run a first person shooter without Alchemy (mixing C++ with Flash) even though Molehill will improve the situation... mainly on recent machines. Flash is fine for videos but it is not as reliable as Java especially not on Windows platforms.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org