JVM
La JVM, ovvero Java Virtual Machine, è quella che permette di far funzionare dei programmi in J2ME sui vari dispositivi. Precisando il termine, in presenza di J2ME dobbiamo parlare di KVM. Sui dispositivi senza un vero e proprio sistema operativo, come ad esempio i cellulari, dobbiamo sperare che il costruttore abbia pensato ad implementare una sua versione di JVM, conforme a qualche specifica MIDP, CLDC etc. etc. Questo è quello che al giorno d'oggi avviene su quasi tutti i cellulari. Per quanto riguarda invece dispositivi con sistema operativo come PDA, non sempre abbiamo la possibilità di avere un ambiente di esecuzione per i nostri programmi J2ME. Proprio per questo motivo ci sono molte JVM "ausiliarie" che possono essere installate su questi dispositivi per permettere poi l'esecuzione di programmi J2ME. In questo caso di solito abbiamo a che fare con JVM che supportano la configurazione CDC, in quanto i dispositivi per i quali vengono realizzate hanno maggiore potenza computazionale rispetto ai semplici cellulari. In molti casi sconfiniamo dal mondo J2ME, trovando JVM che supportano abbastanza bene le API di J2SE (e quindi anche un diverso ciclo di vita delle applicazioni). Qui di seguito trovate una lista delle JVM che è possibile utilizzare per realizzare i nostri programmi su piattaforme Palm, PocketPC, Windows Mobile etc. etc.
- Mysaifu: distribuita OpenSource, supporta lo sviluppo su Windows Mobile 5.0, Windows Mobile 2003 (Pocket PC 2003, Pocket PC 2003 SE)
http://www2s.biglobe.ne.jp/~dat/java/project/jvm/index_en.html - SuperWaba: una JVM molto interessante, che dispone di molte API e che è possibile utilizzare su molti dispositivi dotati di Palm OS, Windows CE, Pocket PC, Windows Mobile e Symbian OS
http://www.superwaba.com.br/ - J9 IBM: realizzata dall'IBM, è conosciuta anche come WEME (WebSphere Micro Environment). E' disponibile per Windows Mobile 2003 SE, nelle versioni MIDP 2.0 e Personal Profile. E' inoltre disponibile anche per le ultime piattaforme Palm.
J9 Personal Profile - J9 MIDP 2.0 - J9 Palm - CrE-ME: JVM disponibile per i terminali Windows CE http://www.nsicom.com/Default.aspx?tabid=295
- Ewe: gratuita, è possibile utilizzarla su diverse piattaforme (PocketPC,MS SmartPhone,Casio BE-300,HandHeldPC Pro,Sharp Zaurus,Linux Desktop,Windows Desktop)
http://www.ewesoft.com/ - JV Lite2: supporta oltre a MIDP e CLDC, molti package opzionali di ultima generazione
http://www.accesschina.com.cn/products/jv-lite2.htm - JBed: questa JVM, disponibile con le configurazioni CLDC e CDC, fornisce anche un supporto per la programmazione di giochi IN-FUSIO
http://www.esmertec.com/ - SavaJe: in questo caso dobbiamo parlare di un vero e proprio sistema operativo per dispositivi mobili realizzato in Java. Molto interessante.
http://www.savaje.com/