- Applet Java
-
Applet Desarrollador Sun Microsystems
http://java.sun.com/appletsInformación general Género ? Programado en Java Sistema operativo Máquina virtual Java Licencia ? En español ? Un applet Java es un applet escrito en el lenguaje de programación Java. Los applets de Java pueden ejecutarse en un navegador web utilizando la Java Virtual Machine (JVM), o en el AppletViewer de Sun.
Entre sus características podemos mencionar un esquema de seguridad que permite que los applets que se ejecutan en el equipo no tengan acceso a partes sensibles (por ej. no pueden escribir archivos), a menos que uno mismo le dé los permisos necesarios en el sistema; la desventaja de este enfoque es que la entrega de permisos es engorrosa para el usuario común, lo cual juega en contra de uno de los objetivos de los Java applets: proporcionar una forma fácil de ejecutar aplicaciones desde el navegador web.
En Java, un applet es un programa que puede incrustarse en un documento HTML, es decir en una página web. Cuando un navegador carga una página web que contiene un applet, este se descarga en el navegador web y comienza a ejecutarse. Esto permite crear programas que cualquier usuario puede ejecutar con tan solo cargar la página web en su navegador.
El navegador que carga y ejecuta el applet se conoce en términos genéricos como el "contenedor" de los applets. El kit de desarrollo de software para Java 2 (J2SDK) 1.4.1 incluye un contenedor de applets, llamado appletviewer, para probar los applets antes de incrustarlos en una página web.
Contenido
Ventajas
Los applets de Java suelen tener las siguientes ventajas:
- Son multiplataforma (funcionan en Linux, Windows, Mac OS, y en cualquier sistema operativo para el cual exista una Java Virtual Machine).
- El mismo applet puede trabajar en "todas" las versiones de Java, y no sólo la última versión del plugin. Sin embargo, si un applet requiere una versión posterior del Java Runtime Environment (JRE), el cliente se verá obligado a esperar durante la descarga de la nueva JRE.
- Es compatible con la mayoría de los navegadores web.
- Puede ser almacenado en la memoria caché de la mayoría de los navegadores web, de modo que se cargará rápidamente cuando se vuelva a cargar la página web, aunque puede quedar atascado en la caché, causando problemas cuando se publican nuevas versiones.
- Puede tener acceso completo a la máquina en la que se está ejecutando, si el usuario lo permite.
- Puede ejecutarse a velocidades comparables a la de otros lenguajes compilados, como C++ (dependiendo de la version de la JVM).
- Puede trasladar el trabajo del servidor al cliente, haciendo una solución web más escalable tomando en cuenta el número de usuarios o clientes.
Desventajas
Los applets de Java suelen tener las siguientes desventajas:
- Requiere el plugin de Java, que no está disponible por defecto en todos los navegadores web.
- No puede iniciar la ejecución hasta que la JVM esté en funcionamiento, y esto puede tomar tiempo la primera vez que se ejecuta un applet.
- Si no está firmado como confiable, tiene un acceso limitado al sistema del usuario - en particular no tiene acceso directo al disco duro del cliente o al portapapeles.
- Algunas organizaciones sólo permiten la instalación de software a los administradores. Como resultado, muchos usuarios (sin privilegios para instalar el plugin en su navegador) no pueden ver los applets.
- Un applet podría exigir una versión específica del JRE.
Diferencias entre una aplicación autónoma y un applet
Existen diferencias entre un programa autónomo y un applet:
- Restricciones de seguridad: los applets son considerados código de poca confianza[1] (a excepción de que lleven una firma digital) ya que son compartidos por todos los usuarios de Internet. Por ejemplo, no se permite el acceso a ficheros locales ni conectarse a un servidor distinto al que está alojado el applet.
- Necesitan un navegador para ser visualizados, o un visor de applets como appletviewer.
- No tienen un método principal.
Creación y ejecución de un applet
Crear un applet
Para crear un applet necesitamos escribir una clave de la clase Applet del paquete java.applet.*;
import java.applet.*; public class MiApplet extends Applet { //Cuerpo del ''applet''. }
El código anterior declara una nueva clase MiApplet que hereda todas las capacidades de la clase Applet de Java. El resultado es un fichero MiApplet.java.
Una vez creada la clase que compone el applet, escribimos el resto del código y después lo compilamos, obteniendo el fichero MiApplet.class. Para poder crear el applet se necesita compilar el código Java en un intérprete.
import java.applet.*; import java.awt.*; import java.util.*; import java.text.DateFormat; public class MiApplet extends Applet implements Runnable { private Thread hilo = null; private Font fuente; private String horaActual = "00:00:00"; public void init() { fuente = new Font("Verdana", Font.BOLD, 24); } public void start() { if (hilo == null) { hilo = new Thread(this, "Reloj"); hilo.start(); } } public void run() { Thread hiloActual = Thread.currentThread(); while (hilo == hiloActual) { //obtener la hora actual Calendar cal = Calendar.getInstance(); Date hora = cal.getTime(); DateFormat df = DateFormat.getTimeInstance(); horaActual = df.format(hora); repaint(); try { Thread.sleep(1000); } catch (InterruptedException e){} } } public void paint(Graphics g) { //Dibujar un rectángulo alrededor del contenedor g.draw3DRect(1, 1, getSize().width-3, getSize().height-3, false); //Establecer la Fuente g.setFont(fuente); //mostrar la Hora g.drawString(horaActual,14,40); } public void stop() { hilo = null; } }
Si se utiliza la biblioteca gráfica Swing, se puede utilizar la clase JApplet de javax.swing en vez de Applet:
import javax.swing.*; public class MiApplet extends JApplet { //Cuerpo del ''applet''. }
Ejecución
Para insertar el applet en una página web, se usa la siguiente estructura:
<etiqueta parametro = "valor"></etiqueta>
Etiqueta <applet>
Siguiendo la estructura anterior, un ejemplo de código para ejecutar el applet sería:
<applet code="MiApplet.class" width="370" height="270"></applet>
Pudiéndose usar los siguientes atributos:
Atributo Descripción Ejemplo codebase
Dirección desde donde se puede descargar la clase de Java que va a cargar el applet, el URL de la clase. Si no se especifica, será la ubicación actual de la página HTML. codebase="http://www.pagina.com/applet/"
code
Nombre de la clase que se quiere cargar en el applet. La dirección donde se encuentra es relativa al codebase
. Si no se ha especificadocodebase
, es la misma carpeta donde está la página HTML que carga el applet.code="NombreClase.class"
width
Tamaño en píxels de la anchura. width=100
height
Tamaño en píxels de la altura. height=100
alt
Texto que se muestra donde debería cargarse el applet si el navegador no permite su carga. alt="Su navegador no permite cargar este Applet"
name
Establece un nombré único para el applet. name="MiApplet"
archive
Es un listado de clases separados por comas que deben ser cargados en la caché del usuario local antes de poder ejecutarse. archive="Clase1.class, Clase2.class, Clase3.class"
hspace
Establece los márgenes laterales en píxels. hspace=25
vspace
Establece el margen superior e inferior en píxels. vspace=25
align
Alineación respecto a otros elementos.
Valores:left
,center
,rigth
,top
,middle
ybotton
align="center"
mayscript
Permite especificar si el applet puede tener acceso al código JavaScript No tiene valor asociado. Si aparece se aplica. Dentro de la etiqueta
<applet>
puede aparecer la etiqueta<param>
que contiene pares clave/valor, que son leídos por el programa Java, tantas veces como se quiera.Etiqueta <object>
A partir de la versión 4.0 de HTML se consideró obsoleto el uso de la etiqueta
<applet>
, siendo sustituida por<object>
.Esta etiqueta es compatible con los navegadores Microsoft Internet Explorer, Netscape 6 (y versiones superiores) y Mozilla Firefox.
Comparte muchos de los atributos con
<applet>
, siendo los únicos para esta etiqueta:Atributo Descripción Ejemplo classid
Identificador del tipo de objeto. Para Java es: classid="clsid:CAFEEFAC-0014-0001-0000-ABCDEFFEDCBA"
codebase
URL que apunta a un fichero .cab
en la red del plugin necesario para poder ejecutar el contenido.codebase="Dirección_del_instalador_de_la_Máquina_Virtual_Java"
type
Tipo de archivo que va a reproducirse mediante el objeto. <param name="type" value="application/x-java-applet;jpi-version=1.5.0">
Ciclo de vida
Cuando un applet se inicia, se llaman en este orden a los siguientes métodos:
init
: suele contener instrucciones para inicializar el applet.start
: comoinit
, se suele usar para inicializar, pero con la diferencia de que este método también se llama cuando se reinicia un applet.paint
: se encarga de mostrar el contenido del applet. Se ejecuta cada vez que se tenga que redibujar.
Para terminar o pausar la ejecución se llama a los siguientes métodos:
stop
: suspende la ejecución del programa. Se llama cuando el applet se vuelve temporalmente invisible.destroy
: cuando no se va a necesitar más el applet. Se usa para liberar recursos.
Véase también
Referencias
- ↑ «Artículo Security Restrictions sobre Applets de Sun Microsystem» (en inglés). Consultado el 15 de enero de 2009.
Bibliografía
- Deitel, Harvey, Paul & Asociados (2004). Como Programar en Java. México: PEARSON EDUCACION. 970-26-0518-0.
Enlaces externos
Categorías:- Aplicaciones informáticas
- Tecnologías Java EE
- Desarrollo web
Wikimedia foundation. 2010.