דראַוווואָרלד ! [דזשאַוואַ]

Empezamos una serie de artículos que introducen el lenguaje de programación דזשאַוואַ orientando su enfoque a la producción de applets con contenido gráfico.

El marco de un blog es especialmente útil para las pruebas, y el entorno twitter (su API) pueden servir para ilustrar su aplicación en el acceso a los datos disponibles en las redes sociales.

דזשאַוואַ es un lenguaje que puede ser utilizado también para programar dispositivos móviles. El sistema operativo Android es una clara muestra de hasta donde ha llegado la expansión de éste lenguaje, ya que sus aplicaciones se programan en JAVA antes de ser convertidas a un código que entiende el terminal.

¿Tiene sentido hacer este material formativo? ¿No hay suficientes libros, tutoriales, manuales para hacer una nueva introducción?. ¿Depende del enfoque que demos al trabajo? Fundamentalmente tiene sentido si somos capaces de aportar algo nuevo, un ciertovalor añadido”.

  • א צוגאַנג orientado a la producción de software con contenido gráfico es un modelo que actualmente no está suficientemente documentado (resulta paradójico en entornos que son cada vez más visuales).
  • Un enfoque orientado a la formación en programación gráfica en entornos técnicos universitarios puede aportar un pragmatismo en la concreción de los ejemplos.

HelloWorld adaptado a gráficos

En general todo manual para aprender un lenguaje de programación empieza explicando elconjunto de instrucciones y etiquetaso también denominadocódigo”, que es necesario para, simplemente, escribir un texto; este código se presenta en forma de un programa de ejemplo y suele denominarse HelloWorld.

En nuestro ejemplo no escribiremos un texto (podríamos hacerlo de forma gráfica); en su lugar dibujaremos un simple círculo en la pantalla (ventana gráfica) en la que se visualizará la aplicación. Haciendo un paralelismo semántico, podemos denominar al primer programa דראַוווואָרלד.

אַרייַנפיר דזשאַוואַ.אַפּפּלעט.אַפּפּלעט;
אַרייַנפיר דזשאַוואַ.אַווט.גראַפיקס;
/**
* @author joju
*/
public class דראַוווואָרלד יקסטענדז אַפּלאַט {
עפנטלעך דראַוווואָרלד() { }
public static void הויפּט(שטריקל[] אַרגס) { }
ציבור פּאָסל פאַרב(גראַפיקס ג){
g.drawOval(10, 10, 100, 100);
}
}

El texto anterior debe estar en un fichero denominado DrawWorld.java que ejecutaremos desde la línea de comandos o desde un IDE de desarrollo como se verá oportunamente. Nos centraremos inicialmente en entender la taxonomía del programa.

Importación de clases

Las primeras líneas:

 

 

 

אַרייַנפיר דזשאַוואַ.אַפּפּלעט.אַפּפּלעט;
אַרייַנפיר דזשאַוואַ.אַווט.גראַפיקס;
indican que usaremos objetos y funciones que se han definido en otros ficheros- En particular la clase “אַפּלאַט” nos sirve como elemento principal del programa, ya que ejecutaremos el mismo a través de la funcionalidad que implementa. Para ejecutar el programa en un navegador necesitaremos unobjeto Applet”;

Documentación de la clase

Para documentar el código se utilizan comentarios. Un comentario puede estar limitado a una línea de texto o usar varias líneas completas.

  • Se utilizan dos barras//para indicar el comienzo de un comentario que termina al finalizar la línea.

// Esto es un comentario

  • Se utiliza (estilo JAVA) barra y dos asteriscos/**” (puede ser también un solo asterisco/*“) para indicar el comienzo del comentario que puede usar varias líneas. El comentario se cierra con la secuencia invertida de la barra y el asterisco, es decir con*/“.
/**
* @author דזשאָדזשו
*/

 

 

 

El comentario puede incluiretiquetasque facilitan posteriormente la generación automática de documentación de ayuda. די “autordel programa, אין דעם פאַל, puede consultarse desde la propia aplicación al haberse declarado en el comentario.

Clase

Un fichero JAVA, es decir con extensión.javacontiene a unaClase”. El nombre del fichero y el nombre de la clase deben ser el mismo.

public class דראַוווואָרלד יקסטענדז אַפּלאַט {
}

El fichero DrawWorld.java contiene a la clase pública דראַוווואָרלד que utiliza oextiendede la claseאַפּלאַט“. Esto significa que DrawWorld es en realidad un applet. Podemos incorporar a una página web nuestro applet, ya que ha heredado todas las capacidades al usar el operadorיקסטענדז“.

La implementación de la funcionalidad de laclasese realiza mediante variables y funciones que se encuentran entre las llaves “{……}” que la delimitan.

Constructor de la Clase

Al iniciar un programo o generar un objeto nuevo en JAVA con el operadornew”, la aplicación ejecuta el código que se encuentra en lo que se denomina elconstructor de la clase”. Podemos pensar que es unpunto de inicio

עפנטלעך דראַוווואָרלד() { }

En nuestro sencillo ejemplo simplemente se encuentra vacío y no realizará por tanto ninguna acción.

Otro punto de inicio de la aplicación es el método “הויפּט”, que se utiliza para iniciar el programa si se ejecuta como una aplicación no embebida en un navegador

public static void הויפּט(שטריקל[] אַרגס) { }

Dibujando en la pantalla

Nuestro clásico saludo se convertirá en un simple dibujo. El método “פאַרב” es el responsable de “ציען” la aplicación. Cada vez que se refresca la pantalla el sistema llama de forma automática a este método, en el que hemos incorporado una simple línea de código para “פאַרב” una curva oval (elipse o circunferencia en este caso) que se encontrará dentro del espacio que delimita un cuadrado de 100 unidades de longitud situado en las coordenadas (10,10):

 

ציבור פּאָסל פאַרב(גראַפיקס ג){
g.drawOval(10, 10, 100, 100);
}
La funcióndrawOvales un procedimiento que tiene laclase Graphics”. Para dibujar en JAVA necesitaremos un objeto de esta naturaleza (objeto Graphics), que viene implementado en el núcleo de la aplicación. La función paint recibe como argumento un objeto Graphics que se etiqueta con la letra “ג” de forma estandard.
Para acceder a los métodos del objetoGraphicsañadiremos un “פונט” al nombre (ג) del objeto y seguidamente el nombre de la función.

 

De mano de la editorial O’REILLY tenemos un documento de gran interés.

Java 2D Graphics: Uno de los libros de introducción a la programación gráfica con JAVA más interesantes. Permite avanzar en cada uno de los aspectos de la biblioteca gráfica Java2D mediante ejemplos que destacan los aspectos más importantes y utilizados.

Un clásico de la programación 2D en JAVA

 

JAVA

לויף דזשאַוואַ