An applet is a special type of computer program that is intended to run only inside another software application. The term is most commonly used to describe programs that are written in the Java programming language. These programs are designed to add functionality and interactivity to websites where the standard hypertext mark-up language (HTML) is insufficient. Mobile devices such as cell phones also use applets, but they might do so in a different way.
There are many differences between an applet and a standard computer application. The largest distinction is that an applet can be run only by another program already on the system, most often a web browser or other specialized interpreter. This provides added security and permits the applet to be platform-independent because the language it is written in is translated by each different operating system as needed.
One of the benefits in using an applet instead of an application is the built-in implementation of very stringent security controls. A standard applet runs in a highly restricted mode where it is incapable of directly accessing any system resource. The software that is running the program can restrict access so that it has no awareness of the system on which it is being run. Alternately, there are types of applets that can implement advanced security methods allowing for increased access at the discretion of the user.
Web browsers frequently use Java applets to give users access to different types of online media without requiring the installation of a completely separate program. An applet might also be used to help make online forms easier to complete, to display images dynamically or to allow games to be played. Applets even enjoy widespread use in the electronic commerce market, where they are employed to securely communicate with a server when making purchases.
When being used through a web browser, applets are able to be highly customized without the need to rewrite the software. This is done through the use of HTML. When called from inside of an HTML document for a website, it is possible to pass several different parameters to the program from directly inside the HTML code. This mechanism permits a single applet to be easily customized across several websites.
Mobile devices use applets in a slightly different way. Many devices include an intrinsic software framework that allows applets to run independent of any other program. This method grants all of the security and portability of a standard implementation without having to wrap the program in a separate software container.
Even though applets are designed to operate in a secure environment where the host system cannot be harmed, there are ways that they can gain full access to the system. Java applets are able to be signed, meaning that if the user of the system trusts the program, it will be allowed access to the files and resources of the host system. These types of security exceptions always prompt the user first before allowing access.