|
Vediamo con maggior dovizia di particolari le fasi sopra descritte vedendo
passo passo come scrivere il classico programma HelloWorld. Innanzitutto
procuriamoci la libreria di Waba, compresa nel WabaSDK scaricato da www.wabasoft.com.
Il kit comprende la versione Java delle classi Waba. Creiamo dunque un
progetto utilizzando per con il nostro ambiente di lavoro preferito. Nel
mio caso mi sono limitato ad utilizzare il JDK e il notepad per lo sviluppo
dell'applicazione. Per applicazioni un po' più complesse un IDE vero e
un debugger migliore del JDB sono sicuramente più appropriati. Il testo
del programmino è semplicemente questo:
import waba.ui.*;
import waba.fx.*;
public class Hello extends MainWindow
{
public void onPaint(Graphics g) {
g.setColor(0, 0, 0);
g.drawText("Hello World", 0, 0);
}
}
In dettaglio: abbiamo importato il package waba.ui per usare la classe
MainWindow, e il package waba.fx per usare il contesto grafico Graphics.
La classe principale di un programma Waba deve essere derivata da waba.ui.MainWindow
, come le applet devono essere derivate da java.applet.Applet. Sempre in
analogia alle applet, che richiedono la ridefinizione del metodo paint,
per disegnare in Waba occorre ridefinire il metodo onPaint. La libreria
di Waba segue la convenzione che i metodi chiamati onXxx devono essere
ridefiniti, mentre gli altri metodi possono essere chiamati. Quindi per
scrivere Hello World dobbiamo soltanto ridefinire onPaint e disegnare utilizzando
il contesto grafico Graphics. In molti casi le classi di Waba hanno nomi
e metodi simili a classi omonime di Java. Il Graphics rappresenta l'area
di disegno, che è come una bitmap fornita dal sistema dove possiamo disegnare;
una volta che abbiamo svolto il nostro lavoro è compito del sistema visualizzare
quanto disegnato. Preparato il nostro sorgente, possiamo compilare la nostra
applicazione usando il JDK, con un comando come:
C:\waba\disk> javac -classpath waba10b7.jar Hello.java
Notare che abbiamo usato solo le librerie di Waba (specificandole con
-classpath) per compilare, così se per errore inseriamo nel sorgente qualche
elemento non incluso nella libreria di Waba, saremo avvertiti da un errore
di compilazione. Una volta compilata la classe Hello.class, questa può
essere mandata in esecuzione come applet utilizzando una pagina HTML come
quella che segue:
<applet code=waba.applet.Applet
archive=waba10b7.jar
width=160 height=160>
<param name=appClass value="Hello">
</applet>
Abbiamo quindi incluso l'archivio delle classi waba, specificando come
applet la classe waba.applet.Applet. Poiché la classe Hello non è derivata
da java.applet.Applet non può essere usata come applet, per cui la classe
effettiva da caricare viene specificata dal parametro appClass.
Hello World come si vede con Netscape
Figura 1
Hello World su Windows CE
Figura 2
In figura 1
possiamo vedere il risultato con Netscape. Noterete che finora non c'è
niente di speciale. La parte interessante viene ora. Eseguendo
C:\waba\disk> warp c /q Hello Hello.class
viene trasformata la classe Hello.class in Hello.wrp e creato un link
Hello.lnk necessario per lanciare l'applicazione in esecuzione su Windows
CE. Adesso possiamo caricare il programma su un palmare WindowsCE; i passi
da eseguire sono:
- aprire l'H/PC explorer di Window CE,
- installare la WabaVM per Windows CE in \Program Files (copiare con
un drag and drop)
- installare l'Hello.wrp sempre in \Program Files
- copiare il link sul desktop (o dove lo ritenete opportuno)
- cliccare sul link sul desktop
Viene mandata così mandata in esecuzione la WabaVM, usando come argomento
il file del programma Waba sviluppato; e in
figura 2
potete vedere il risultato. Adesso passiamo al PalmOS. Per generare un
programma per PalmPilot occorre usare l'Hello.wrp appena generato, e trasformarlo
in una coppia di file (Hello.prc e Hello.pdb) eseguendo:
C:\waba\disk> exegen /q /w 160 /h 160 /i satori.bmp Hello Hello Hello
I parametri specificano la dimensione del display e la bitmap che rappresenta
- l'icona del programma. I passi per mandare il programma in esecuzione
sono:
- Installare la Waba VM: doppio click su waba.prc e waba.pdb
- Installare l'applicazione: doppio click su hello.prc e hello.pdb
- Eseguire HotSync per sincronizzare il Palmare con il computer
- Lanciare Hello dal menù principale
Il programma viene così lanciato e in figura 3
potete vedere il risultato in esecuzione.
Notare che i passi di installazione della WabaVM devono essere eseguiti
una volta sola, in quanto una sola WabaVM è sufficiente per l'esecuzione
di diversi programmi.
Hello World su PalmOS
Figura 3
|