4. Aplicaciones Waba
Waba es una plataforma de programación para dispositivos pequeños.
Waba define un lenguaje, una maquina virtual, un conjunto de clases y un formato
de archivo para las clases. Gracias a la forma en la que fue desarrollado Waba,
los desarrolladores que usan herramientas de desarrollo Java pueden desarrollar
aplicaciones Waba; sin embargo Waba no es un derivado de Java y no tiene relación
con Sun Microsistems. La sintaxis de Waba es tan estricta como la sintaxis de
Java, esto permite que los desarrolladores que ya están relacionados
con Java puedan desarrollar de forma bastante fácil aplicaciones Waba.
El lenguaje Waba, la maquina virtual y el formato de los archivos de las clases
están diseñados para que corran de forma optima en dispositivos
pequeños ya que no necesitan grandes cantidades de memoria para correr.
Una de las principales características de Waba es sus clases contienen
funcionalidades que son bastante básicas pero que a su vez son las mas
usadas a la hora de implementar aplicaciones para dispositivos pequeños;
pueden correr como Applets o como aplicaciones y donde se pueden correr programas
Java se pueden correr también programas Waba; y una gran ventaja de todas
las aplicaciones Waba es que actualmente pueden correr sobre dispositivos Windows
CE, Pocket PC y Palm OS.
El SDK de Waba es el conjunto que conforman la documentación de referencia,
un set de clases Java y algunos programas de ejemplo que pueden ser ejecutados
en todos los dispositivos que soportan Waba y que corren bien; La documentación
de referencia que se incluye tiene una referencia completa de las clases de
Waba.
El WabaVM es un emulador de Waba para Windows CE. Sirve para probar programas
Waba en PalmPilot y/o instalarlas en el dispositivo Windows CE. Trabaja junto
con el Kit de Desarrollo de Java, el JDK de Sun y el SDK de Microsoft para Java
Los programas resultantes pueden corer en dispositivos que contenga una Máquina
virtual de Waba (WabaVM) y puede correr como un applet de Java o aplicaciones
en cualquier máquina soportando Java.
Los requerimientos del Sistema, los instaladores, las instrucciones de
instalación y el serial de instalación, están disponibles en el siguiente
enlace:
http://www.wabasoft.com/download4.shtml
Paquetes de instalación
1. WabaSDK 1.0:
http://www.wabasoft.com/download/wabasdk.10.part1of2.zip
http://www.wabasoft.com/download/wabasdk.10.part2of2.zip
2. Emulador de WabaVM 1.0 para Windows CE:
http://www.wabasoft.com/download/wabavm-wince-emul.10.zip
3. Windows CE SDK:
http://www.microsoft.com/windowsmobile/resources/downloads/developer/default.mspx
(Este ya se tenía instalado porque viene con el Microsoft eMbedded)
Requerimientos del Sistema
En cuanto a la parte Hardware, Waba es muy flexible, aunque por supuesto el
sistema no debe ser obsoleto.
Importante
No usar funciones ni sintaxis que no estén soportadas por Waba (excepciones,
hilos, variables tipo long o double) y referenciar únicamente las clases
Waba y las clases creadas en el programa. Recordar que Waba no es lo mismo que
Java.
Existen más consideraciones pero estas son las más importantes.
Para mayor información puede consultarse en la página README.html
que viene incluida dentro del .zip del SDK.
Instalación
Primero que todo es necesario instalar el Win CE SDK. El proceso no se explica
aquí porque es muy intuitivo (siguiente, siguiente...).
Para hacer aplicaciones en Waba y correr el emulador, solo es necesario tener
un Kit de desarrollo para Java, como JBuilder, Visual Café. Inclusive,
se puede usar el Notepad. No es necesario instalar el Waba SDK, simplemente
se debe copiarlo al disco duro y modificar en las variables del sistema, el
CLASSPATH, y el Path, agregando la ruta dentro la cual se encuentran las carpetas
"classes" y "bin" respectivamente.
Los archivos que deben crearse son los .java, que deben tener la siguiente
estructura:
// ImageSplit.java
import waba.ui.*;
import waba.fx.*;
/**
* Este programa dibuja una imagen y luego la divide en 4 partes.
*/
public class ImageSplit extends MainWindow {
Graphics drawg = new Graphics(this);
Timer timer;
Image takiImage = null;
int imageX, imageY, imageWidth, imageHeight;
boolean firstTime = true;
boolean inAnimation = false;
int step = 0;
int dir = 2;
public void onEvent(Event event) {
if (event.type == PenEvent.PEN_DOWN) {
// first click animates, second exits
if (!inAnimation) {
inAnimation = true;
repaint(); // erases please wait...
timer = addTimer(10);
} else {
exit(0);
}
} else if (event.type == ControlEvent.TIMER)
animateImage(drawg);
}
private void loadImage() {
...
}
public void animateImage(Graphics g) {
...
}
public void onPaint(Graphics g) {
...
}
}
Como se puede observar en el código anterior, simplemente se importan
las librerías de Waba necesarias para construir la aplicación
(igual que en Java) y se escribe el resto de código en forma muy similar
a Java. Para mayor información sobre sintaxis y funciones, existe mucha
información en libros y tutoriales en Internet. Para empezar, puede visitarse
el web-site oficial de Waba,
http://www.wabasoft.com/howto.shtml.
Suponiendo que se ha escogido Notepad como entorno de desarrollo, lo que sigue
es utilizar un archivo ejecutable .bat llamado make para correr las funciones
de compilación:
make.bat
@echo off
set OLDCLASSPATH=%CLASSPATH%
set CLASSPATH=%CLASSPATH%;....classes;.
rem compilar el programa, construir loa archivos warp y “launchers”
javac *.java
....binwarp c /q ImageSplit *.class taki.bmp
....binexegen /q /w 160 /h 160 /m 4000 /i icon.bmp ImageSplit ImageSplit
ImageSplit
echo : To run this program under Java, make sure you're CLASSPATH
echo : environment variable contains the waba classes directory and
echo : the current directory and execute either one of the following
echo : commands:
echo :
echo : java waba.applet.Applet ImageSplit
|