ePrometeusCorsoJavaJava
testi articoli
Testi Articoli  Download
Home | Eshop | Java | Tools | Web | 
CorsoJava è ora Video! Free for all!
Clicca Qui!

WABA UN MINI JAVA PER PALMARI
Waba: un mini-Java per palmari
Cos'è Waba
Hello World
La libreria di Waba
Un esempio più complesso
Bibliografia
L'Autore

<<< Cos'è Waba >>>

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:

  1. Non si possono usare long e double
  2. Non si possono utilizzare eccezioni
  3. Non si possono utilizzare funzioni legate ai thread (sincronizzazioni eccetera)
  4. 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.

ePrometeus s.r.l. - Web Software House & Open Source System Integrator
MILANO - SAN BENEDETTO DEL TRONTO(AP)
Contatti: info@eprometeus.com