30 ebook a un prezzo mai visto!

Risparmia sui tuoi libri preferiti, mentre supporti la community Python Italia

➡️ Scopri gli ebook bundle
Home
J2ME FAQ

29 Aprile 2003

J2ME FAQ

di

Una raccolta delle domande frequenti sull'architettura Java 2 Micro Edition

Dell’architettura J2ME abbiamo già parlato diffusamente, quella che segue è una rassegna di FAQ sull’argomento raccolte da quelle che quasi quotidianamente mi vengono rivolte da colleghi o conoscenti. Le FAQ sono spesso utili per chiarire i punti cardine della tecnologia.

Cos’è la Java 2 Platform, Micro Edition (J2ME)?

J2ME è la versione della piattaforma Java 2 destinata a dispositivi di consumo come telefoni cellulari, pager, reader e palmari. La tecnologia J2ME consiste in una virtual machine ed un insieme di API che rendono disponibile un completo ambiente di runtime sulle piattaforme hardware e software dei dispositivi cui la piattaforma è destinata.

La piattaforma è sezionabile in due modalità distinte ed ortogonali fra loro: le configurazioni ed i profili.

Cos’è una configurazione?

La tecnologia J2ME è filosoficamente dedicata a due grandi categorie di dispositivi: things that you hold in your hand (oggetti che tenete in mano) e things you plug into a wall (oggetti collegati ad una parete).

Queste definizioni si riferiscono, naturalmente, a dispositivi totalmente mobili (e quindi dotati di connettività wireless) oppure, viceversa, a dispositivi che sono mobili ma che hanno anche la possibilità di connettersi attraverso l’utilizzo di erogatori di banda tradizionali.

Rivolgendosi a target che potenzialmente sono diversi tra loro ed hanno caratteristiche a volte incompatibili, la piattaforma si divide in due configurazioni, ognuna delle quali è totalmente dedicata ad una certa classe di dispositivi.

La divisione in configurazioni permette di avere macchine virtuali e librerie di API ottimizzate per quella particolare classe di dispositivi senza dover scendere a compromessi per rendere compatibili tra loro dispositivi troppo diversi.

Cos’è un profilo?

All’interno di ogni configurazione vengono create suddivisioni ulteriori chiamate profili.

Ogni profilo è dedicato ad uno specifico gruppo di dispositivi che devono avere in comune una serie di caratteristiche hardware, soprattutto in termini di capacità computazionale e memoria a disposizione per le applicazioni.

Un profilo deve essere completo ed autoconsistente, questo significa che un’applicazione scritta utilizzando tutte e sole le API per un certo profilo deve poter essere eseguita su qualsiasi dispositivo che implementa un ambiente di runtime compatibile con il profilo stesso.

È possibile estendere i profili?

Certo. I profili possono essere estesi attraverso l’utilizzo di package opzionali che forniscano nuove funzionalità non disponibili direttamente dalla piattaforma originale.

La condizione fondamentale per poter utilizzare un package opzionale è che il dispositivo di destinazione sia in grado di utilizzare la funzionalità che il package astrae. Non sarà ad esempio possibile utilizzare API multimediali per i suoni su dispositivi che non hanno l’hardware necessario per riprodurre l’audio.

La macchina virtuale di J2ME è la KVM?

No. L’architettura J2ME può utilizzare qualsiasi virtual machine che sia come minimo compatibile con la KVM (Kylobyte Virtual Machine). All’interno di J2ME sono state definite due configurazioni, una basata su sulla KVM ed un’altra basata su una virtual machine interamente compatibile con le specifiche RedBook, esattamente come quella si cui si basa l’architettura J2SE e la tecnologia Personal Java.

Esiste un modello per l’interfaccia utente in J2ME?

Uno dei punti di forza dell’architettura J2ME è la possibilità che offre di far girare le applicazioni su dispositivi che fra loro possono essere molto diversi.

Questa caratteristica rende impossibile definire degli standard per il disegno di un’interfaccia utente che sia comune a tutti i dispositivi, pertanto si tende ad demandare la gestione dell’interfaccia utente ai profili piuttosto avere un modello di interfaccia utente generale.

L'autore

  • Massimo Canducci
    Massimo Canducci vanta oltre 25 anni di esperienza nel campo dell'innovazione e della digital transformation ed è Chief Innovation Officer per Engineering Ingegneria Informatica. È docente alla Singularity University, l'Università di Torino e l'Università di Pavia, e insegna in master MBA.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Immagine decorativa form newsletter
Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.