¿Qué es un applet?

Un subprograma es un tipo especial de programa de computadora que está diseñado para ejecutarse solo dentro de otra aplicación de software. El término se usa más comúnmente para describir programas que están escritos en el lenguaje de programación Java. Estos programas están diseñados para agregar funcionalidad e interactividad a sitios web donde el lenguaje de marcado de hipertexto estándar (HTML) es insuficiente. Los dispositivos móviles, como los teléfonos móviles, también utilizan subprogramas, pero pueden hacerlo de otra forma.

Hay muchas diferencias entre un subprograma y una aplicación informática estándar. La mayor distinción es que un subprograma solo puede ser ejecutado por otro programa que ya esté en el sistema, generalmente un navegador web u otro intérprete especializado. Esto proporciona seguridad adicional y permite que el subprograma sea independiente de la plataforma porque el idioma en el que está escrito es traducido por cada sistema operativo diferente según sea necesario.

Uno de los beneficios de usar un subprograma en lugar de una aplicación es la implementación incorporada de controles de seguridad muy estrictos. Un subprograma estándar se ejecuta en un modo muy restringido en el que no puede acceder directamente a ningún recurso del sistema. El software que ejecuta el programa puede restringir el acceso de modo que no tenga conocimiento del sistema en el que se está ejecutando. Alternativamente, existen tipos de subprogramas que pueden implementar métodos de seguridad avanzados que permiten un mayor acceso a discreción del usuario.

Los navegadores web utilizan con frecuencia subprogramas de Java para dar a los usuarios acceso a diferentes tipos de medios en línea sin necesidad de instalar un programa completamente separado. También se puede usar un subprograma para ayudar a que los formularios en línea sean más fáciles de completar, para mostrar imágenes dinámicamente o para permitir que se jueguen juegos. Los applets incluso disfrutan de un uso generalizado en el mercado del comercio electrónico, donde se emplean para comunicarse de forma segura con un servidor al realizar compras.

Cuando se utilizan a través de un navegador web, los subprogramas se pueden personalizar en gran medida sin la necesidad de volver a escribir el software. Esto se hace mediante el uso de HTML. Cuando se llama desde el interior de un documento HTML para un sitio web, es posible pasar varios parámetros diferentes al programa directamente desde el código HTML. Este mecanismo permite personalizar fácilmente un único subprograma en varios sitios web.
Los dispositivos móviles utilizan los subprogramas de una manera ligeramente diferente. Muchos dispositivos incluyen un marco de software intrínseco que permite que los subprogramas se ejecuten independientemente de cualquier otro programa. Este método otorga toda la seguridad y portabilidad de una implementación estándar sin tener que envolver el programa en un contenedor de software separado.
Aunque los subprogramas están diseñados para funcionar en un entorno seguro en el que no se puede dañar el sistema host, existen formas de obtener acceso completo al sistema. Los subprogramas de Java se pueden firmar, lo que significa que si el usuario del sistema confía en el programa, se le permitirá el acceso a los archivos y recursos del sistema host. Estos tipos de excepciones de seguridad siempre avisan al usuario primero antes de permitir el acceso.