Applet
In computing, an applet refers to a compact application designed to execute a particular function within a specialized widget engine or a broader software, frequently operating as a plug-in. The designation is most often associated with the Java applet, a Java-based program intended for integration into web pages. Applets are typically short-lived, subsidiary applications crafted for quick accessibility without demanding continuous user focus.
History
The word applet was initially introduced in 1990 through PC Magazine. Nevertheless, the underlying idea can be traced back to RFC 5 (1969) authored by Jeff Rulifson, which detailed the Decode-Encode Language facilitating remote interaction with the oN-Line System over ARPANET by means of downloading small executable programs. This innovation is acknowledged as a precursor to Java’s downloadable applications, as outlined in RFC 2555.
Applet as an extension of other software
Certain applets function solely within a container supplied by a host application, either through a plugin or on mobile platforms that support the applet framework.
Web-based applets
Historically, applets were utilized to introduce interactive elements to web applications that exceeded the capabilities of standard HTML. They could capture mouse input and provide interface components such as buttons and check boxes. By enabling dynamic alterations of graphical content, applets were well-suited for demonstrations, educational tools, and visualizations. Collections of online applets spanned diverse topics including physics and cardiac physiology and even facilitated real-time multiplayer gaming experiences.
Beyond graphical user interfaces, some applets operated as text-only cross-platform command-line interfaces connecting to remote systems and could run in separate windows. Despite their interactive features, applets had restricted control beyond their allotted display area, thereby limiting their influence on overall webpage design, even though they were employed in features like news tickers or WYSIWYG editors. Additionally, they supported playback of media formats not natively handled by browsers.
HTML documents could supply parameters to applets, enabling tailored visual styles and behaviors.
Illustrative examples of web-based applets include:
- QuickTime movies
- Flash movies
- Embedded video players such as Windows Media Player applets within browsers
- Applets for displaying 3D modeling content with interactive rotation and zoom capabilities
- Browser games built on applet technology, some of which developed into standalone applications requiring installation
Applet Vs. Subroutine
Within larger software systems, applets are distinguished by several characteristics:
- They operate exclusively on the client-side platform environment, unlike Servlets, delivering enhanced features or performance beyond what browsers typically offer.
- Their functionality is confined by the container environment.
- Applets are created using compiled programming languages rather than interpreted scripting languages or HTML that invoke them, which allows for superior execution efficiency. Unlike subroutines, applets can embody fully functional web components.
Java applets
A Java applet is a Java-based program initiated through HTML and executed within a web browser. It provides interactive capabilities surpassing those achievable with standard HTML. Thanks to Java’s platform-independent bytecode, these applets can operate across various browsers on platforms including Windows, Unix, macOS, and Linux. When a Java-enabled browser encounters an HTML page containing an applet, it downloads the corresponding code and runs it via the browser’s built-in Java virtual machine. The HTML page embeds an applet using the now-obsolete tag or its modern replacement, the tag.
Security
The rise of application development, particularly in mobile and embedded system environments, has intensified the emphasis on applet security measures.
Open platform applets
Within open platforms, applets must guarantee secure communication and interaction between applications. This is often achieved through a compositional strategy, complemented by sophisticated verification techniques designed to safeguard applet interactions.
Java applets
Java applets utilize several security frameworks, including models for unsigned, signed, and self-signed applets, each providing different levels of protection.
Web-based applets
Browsers that support applets implement various safeguards to protect users from malicious applets that could lead to denial of service attacks, compromise user privacy, or cause operational interruptions. Typically, the browser supervises applet behavior and can either automatically or manually terminate those deemed harmful.