A Java applet is a Java application than runs inside a web browser, or, more accurately, embedded in an HTML page. A Java Applet has to rely on the JavaVirtualMachine provided by the manufacturer of the browser, or the browser needs to be configured to use another virtual machine resident on the client machine.
Applet support is not standardized across browsers, and Java 2 features such as the JavaSwing GuiToolKit? require the JavaPlugin? to be installed on the client machine. This sort of ThickClient application is prone to problems when used in heterogenous networks.
Resources to what Applets are:
http://java.sun.com/products/plugin/ -- for Applets.
http://java.sun.com/docs/books/tutorial/applet/index.html
I've been thinking about the applet as a technology recently. Has it been the failure that some make it out to be ? Granted that applets are hardly ubiquitous and have not made underlying OS's irrelevant like Microsoft feared, but they have some successes and seem to be doing quit well.
Reasons that applets haven't taken over the web:
- There is not a need for the "richness" that applets provide on the vast majority of Internet sites. Most sites exist only to provide information and HTML more that suffices for that. Even when something more than HTML is needed, technologies like Dynamic HTML, JavaScript, and CSS have provided sufficient "richness". This is not a sign that the applet was a poor technology, but that it just wasn't necessary for the general need of most web content.
- JVM compatibility issues allow technologies like Flash to get an edge in applications where are complex animations is desired. It appears that Java Plug-in resolves the compatibility issue, but I wonder what percentage of average users have downloaded the Plug-in and how are still using the Microsoft JVM.
- Could it be that one of its strengths turned into a weakness. That is that security "sandbox" kept applets from doing useful things as well as keeping them from doing destructive things.
Strengths and Successes of applet on the web:
- One thing that intrigues me about applets that ones that originate from the same browser session share a JVM. I don't think speed is the number one liability for Java, but rather the larger memory footprint. Suites of applets can run in the same JVM and take less memory that standalone applications. I know there are shared JVM technologies like Echidna, JDistro (http://www.jdistro.com/), and POD that allow application to share a JVM, but the shared JVM provided by the browser is more transparent.
Compare and contrast:
UsefulJavaApplets vs
JavaAppletsSuck
CategoryJava