La mayoría de las personas que me conocen saben que no soy muy fan de Java, aunque en fechas recientes he estado haciendo algunas cosas con uno de los hijos predilectos de Sun. El punto es que, como dijo alguna vez Clmns, «Java es como una caja de legos, ya está todo hecho, nada más armas», y es verdad, será feo, lento, horrible y chillón, pero te da la facilidad y rapidéz de desarrollo, lo cual busco en estos momentos por necesitar centrarme en otras cosas como la física del problema o algunas cuestiones pedagógicas y didácticas.

Además, si tomamos un subconjunto de Java hecho especialmente para el internet, podemos ir aún más rápido, éstos son los ya famosísimos Applets, que al tener ya una estructura definida y muchas facilidades incluidas, el tiempo de desarrollo se reduce considerablemente cuando se trata de trabajos o proyectos que requieren un mínimo tiempo de implementación.

La estructura básica de un applet es la siguiente:


import java.applet.*;   //Es un applet, era de esperarse

import java.awt.*;        //Toda la cuestión gráfica.

public class miApplet extends Applet{//Definición de la clase de nuestro Applet y heredamos de la clase Applet

public void init(){

//Es la parte donde se inicializa el Applet, podría verse como el constructor

}

public void start(){

//Aquí comienza a correr el Applet, sería algo así como el main

}

public void stop(){

//El Applet se detiene, es como ponerlo en pausa

}

public void destroy(){

//Cuando se cierra el Applet

}

public void paint(Graphics g){

//En este método gestionaremos la parte gráfica del Applet, por eso importamos al inicio java.awt.*.

}

}

El código anterior puede copiarse, pegarse y compilarse como sigue:


javac miApplet.java

Lo cual, si todo va bien, generará un archivo llamado miApplet.class.

Ahora bien, al ser una tecnología hecha para la web, se necesita una página web para incrustar el applet ya compilado, la página es como la siguiente:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
 <title>miApplet</title>
 <meta http-equiv="content-type" content="text/html;charset=utf-8" />
 <meta name="generator" content="Geany 0.14" />
</head>

<body>
 <applet code="miApplet.class" width="640" height="480"></applet>
</body>
</html>

Pueden notar que utilizo Geany como editor, una belleza. Y en realidad aquí es donde se define el tamaño de la ventana del Applet, como se ve en la etiqueta correspondiente.

Existe un pequeño detalle al querer verlo en el navegador, la primera vez lo hará de una manera correcta, pero si poco tiempo después hacemos una modificación al applet, cargará la versión vieja(no sé si sólo tenga yo el problema del caché con firefox). Además, me es más comodo al trabajar con Geany, utilizar la herramienta appletviewer, la cual ejecutamos del siguiente modo:


appletviewer pagina.html

Como pueden ver, se utiliza la página para cargar el applet, no cargamos el applet de manera directa. Por defecto, el applet tiene un área designada del tamaño que indicamos en la página web y proporciona un chulo fondo gris, lo cual, evidentemente puede ser cambiado.

Ese es el applet más básico que podemos crear, uno que no hace nada… bueno, come memoria y hace lento mi firefox.

Espero seguir mostrando como funcionan estas cosas.

Saludos.

3 responses »

  1. […] you don’t know which’s the basic structure of a Java Applet, please read this […]

  2. Moisés says:

    Hola, yo siempre eh creido que java es un buen lenguaje, también creo que despues de ser compilado tiene una velocidad normal. Sin embargo eh conocido Ruby y me parece un buen lenguaje para incursionar. Pero todavia tengo la duda cual sera el lenguaje que nos aporte mas que ningun otro, sera la rápides un factor importante?, sera la portabilidad?, cual sera el que tiene la mejor tecnologia?, cual sera el que nos saque de apuros cuando no contemos con muchos recursos … En fin me gustaria saber cual es ese lenguaje.. Usted sabe?

  3. Ivan says:

    Bueno, ese lenguaje depende meramente de las necesidades que uno tenga. En realidad(y es la opinión de muchos además de la mía) es que no existe un lenguaje del que puedas aprenderlo todo o que nos funcione de las mil maravillas para todo. Depende muchísimo de la aplicación que estés desarrollando. Por ejemplo, si estamos en un ambiente científico, lo importante es la velocidad y la precisión, no tanto la portabilidad, nos interesan los datos, las operaciones. En tanto, si estamos desarrollando una aplicación para todo mundo, nos interesará la portabilidad, el diseño y que tan fácil es de utilizar, en fin, muchos factores. Si quieres platicarlo, mándame un correo, está por ahí en el About Me. Saludos.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s