|
Waba permette effettivamente di scrivere applicazioni per palmari utilizzando
Java come linguaggio di programmazione. L'applicazione ottenuta può girare
su PalmOS e Windows CE, e anche come applet Web. Nel valutare Waba bisogna
però tenere presente che Java non è solo un linguaggio ma una completa
piattaforma per lo sviluppo di applicazioni, che comprende una virtual
machine e una vasta libreria di classi. Un programma Java vero e proprio
deve essere fatto di bytecode in grado di girare su una Java Virtual Machine
standard, utilizzando la libreria di classi standard. Questo non è vero
per Waba in quanto usa un sottoinsieme del linguaggio Java, genera un suo
formato proprietario di bytecode ed utilizza una sua virtual machine, la
WabaVM, che comprende anche una (piccola) libreria di classi specifica
di Waba. Quindi Waba non può in alcun modo essere definito un ambiente
di sviluppo compatibile con la piattaforma Java di Sun. Dico questo a scanso
di equivoci, perché Sun (e non solo) è molto sensibile alla "purezza" di
Java, vedi le recenti cause fatte alla Microsoft.
Ciò nonostante, la rinuncia al pieno supporto di Java comporta dei notevoli
vantaggi in "leggerezza": la WabaVM (librerie di classi comprese!) su
un PalmPilot occupa solo 69K, mentre sui WindowsCE circa un centinaio di
kilobyte. Considerando che il solo classes.zip di Java 1.1 occupa 6 megabyte,
si ottiene un bel vantaggio in compattezza. Ovviamente la libreria di classi
di Waba consente di fare molto meno rispetto di quello che può essere
fatto con la libreria di Java completa.
Per scrivere un programma in Waba si deve avere a disposizione un kit
di sviluppo Java, per esempio il JDK di Sun. Occorre però scrivere il programma
utilizzando solo un sotto-insieme del linguaggio Java, e precisamente:
- Non si possono usare long e double
- Non si possono utilizzare eccezioni
- Non si possono utilizzare funzioni legate ai thread (sincronizzazioni
eccetera)
- Si deve utilizzare soltanto la libreria di Waba.
Waba è fornito di una libreria di classi che permette la compilazione
e l'esecuzione di programmi Waba in uno specifico ambiente Java ospite,
in particolare il browser Netscape Navigator. Un programma Waba è dunque
un normale programma in Java che può essere compilato ed eseguito utilizzando
la libreria di classi Waba. Infatti l'ambiente di test di Waba è un nomale
browser Java-enabled che permette di eseguire il programma come applet.
Una applicazione Waba può essere scritto e testato utilizzando gli strumenti
forniti da un ambiente di sviluppo Java per applet. Per trasformare in
un programma per la JVM in un formato eseguibile dalla WabaVM occorre usare
il programma warp che trasforma un insieme di classi in un unico file con
l'estensione .wrp in grado di essere eseguito dalla WabaVM. In pratica
il programma warp trasforma il bytecode della JVM in un bytecode adatto
alla WabaVM, e mette insieme le classi in un unico file. Il file.wrp può
essere eseguito direttamente sui sistemi WindowsCE, mentre per i sistemi
PalmOS è necessario un passo ulteriore: occorre usare il comando exegen
che genera un eseguibile (.prc) e un database (.pdb) per il PalmOS. Dopo
di che basta installare i programmi sul palmare e mandarli in esecuzione.
|