Programmation J2ME Embarquée Chapitre 1 : Présentation de la plate-forme J2ME
AU 2012-2013 2
Les packages optionnels : définissent des API relatives à une fonctionnalité
spécifique dont le support est facultatif.
1. Historique de la plate-forme
Le langage Java a été développé à son origine pour la programmation d'appareils
électroniques de grande consommation (langage Oak par James Gosling in 1991).
Cependant au fil des années, Java a évolué pour être principalement utilisé pour le
développement d'applications standalone et serveurs. La plate-forme Java ME peut
ainsi être vue comme un retour aux buts originaux de Java.
Historiquement, Sun a proposé plusieurs plateformes pour le développement
d'applications sur des machines possédant des ressources réduites, typiquement
celles ne pouvant exécuter sur une machine virtuelle de type JVM répondant aux
spécifications complètes de la plate-forme Java SE.
JavaCard (1996) : pour le développement sur des cartes à puces ;
PersonnalJava (1997) : pour le développement sur des machines possédant au
moins 2Mo de mémoire ;
EmbeddedJava (1998) : pour des appareils avec de faibles ressources ;
En 1999, Sun propose de mieux structurer ces différentes plateformes sous
l'appellation J2ME (Java 2 Micro Edition). En 2000, la plate-forme J2ME est créée pour
le développement d'applications sur appareils mobiles ou embarqués tels que des
téléphones mobiles, des PDA, des terminaux, etc. : elle est donc la descendante des
différentes plateformes antérieures relatives aux appareils mobiles. Seule la plate-
forme JavaCard n'est pas incluse dans Java ME et reste à part.
Java ME cible de très nombreux appareils électroniques possédant différentes
caractéristiques dans une même plate-forme.
2. Présentation de J2ME / Java ME
La plateforme Java Mobile Edition (J2ME/Java ME) cible le marché des appareils
électroniques et embarqués tels que les pagers, les téléphones cellulaires, les PDA, les
set top boxes, etc. Elle est composée de plusieurs éléments :
Des spécifications (JSR « Java Specification Requests ») ;
Des machines virtuelles ;
Des API dédiées ;
Des outils pour le développement, le déploiement et la configuration.
La plateforme Java ME cible des appareils électroniques mobiles ou embarqués dont
les caractéristiques peuvent être particulièrement différentes et qui représentent un
nombre très important d'appareils différents. La grande difficulté est donc de définir