In some cases, an applet does not run independently. These applets must run either in a
container provided by a host program, through a
plugin, or a variety of other applications including mobile devices that support the applet programming model.
Web-based applets Applets were used to provide interactive features to web applications that historically could not be provided by
HTML alone. They could capture
mouse input and also had controls like
buttons or
check boxes. In response to the user action, an applet could change the provided graphic content. This made applets well suited for demonstration, visualization, and teaching. There were online applet collections for studying various subjects, from physics to heart physiology. Applets were also used to create online game collections that allowed players to compete against live opponents in real-time. An applet could also be a text area only, providing, for instance, a cross-platform
command-line interface to some remote system. If needed, an applet could leave the dedicated area and run as a separate
window. However, applets had very little control over web page content outside the applet dedicated area, so they were less useful for improving the site appearance in general (while applets like
news tickers or
WYSIWYG editors are also known). Applets could also play media in formats that are not natively supported by the browser. HTML pages could embed parameters that were passed to the applet. Hence, the same applet could appear differently depending on the parameters that were passed. Examples of Web-based applets include: •
QuickTime movies •
Flash movies •
Windows Media Player applets, used to display embedded video files in
Internet Explorer (and other
browsers that supported the plugin) •
3D modeling display applets, used to rotate and zoom a model •
Browser games that were applet-based, though some developed into fully functional applications that required installation.
Applet versus subroutine A larger application distinguishes its applets through several features: • Applets execute only on the "client" platform environment of a system, as contrasted from "
Servlet". As such, an applet provides functionality or performance beyond the default capabilities of its container (the browser). • The container restricts applets' capabilities. • Applets are written in a language different from the scripting or HTML language that invokes it. The applet is written in a compiled language, whereas the scripting language of the container is an interpreted language, hence the greater performance or functionality of the applet. Unlike a subroutine, a complete web component can be implemented as an applet. ==Java applets==