Comme on l'a déjà dit Java Micro Edition est la plateforme Java de Sun adaptée pour les téléphones portables, les PDA mais aussi les systèmes embarquées, boitiers de télévision...
Sur la Figure 1, nous distinguons les deux grandes parties de la plateforme (CDC et CLDC) ainsi que les sous parties de chacunes.
Dans ce livre nous nous intéressons uniquement à la partie concernant les mobiles et les PDAs à savoir celle représentée sur la 4ème colonne de la Figure 1 et qui est composée de KVM, CLDC, MIDP et Optional Packages. Nous détaillerons dans les paragraphes qui suivent la signification et le rôle de chacun d'eux.
KVM
La KiloByte Virtual Machine (KVM) est la machine virtuelle Java fournie, généralement, par Sun ou par d’autres entreprises comme JBed, Esmertec, IBM… Il s'agitt d'une version allégée de la JVM (Java Virtual Machine) standard. D'après les spécifications fournies par Sun, la KVM a été programmée à partir de zéro en ANSI C. Depuis 2007 une version open source de la KVM existe (Phone ME Project). Le succès de Java ME auprès des constructeurs de téléphones portables est dû en grande partie à cette machine virtuelle et plus précisement à la sécurité qu'elle offre vis à vis des applications tièrces qu'un utilisateur pourrait installer sur son téléphone sans endommager ce dernier contrairement à ce qu'on pourrait faire avec des technologies natives comme Symbian OS.
CLDC
La configuration Connected Limited Device Configuration (CLDC) est un sous ensemble de classes du langage Java qui sont nécessaires pour le développeur (java.lang.*, java.util.*), les E/S, la sécurité… CLDC ne gère ni le cycle de vie de la MIDlet ni les interfaces utilisateurs ni les événements utilisateurs ou externes (interruptions…). A l'heure actuelle, il existe 2 configuration avec une compatibilité ascendantes: CLDC 1.0 et CLDC 1.1. Cette dernière version apporte la gestion des flottants.
MIDP
Le profile Mobile Information Device Profile (MIDP) de l’ensemble des APIs qui définissent l’interaction de l’utilisateur avec le téléphone lui-même en passant par la KVM (écran, son, vibreur, mémoire…). La première version MIDP 1.0 a vu le jour en Septembre 2000. A l'heure actuelle, il existe 3 profils avec une compatibilité ascendantes: MIDP 1.0 embarqué sur les vieux téléphones et MIDP 2.0 plus récents (apporte plus d'API: jeux, sécurité...) et MIDP 2.1. On parle aussi de la sortie de MIDP 3.0 en Novembre 2009.
Comme le montre la Figure 2. Certains mobiles contiennent des APIs optionnelles en plus de MIDP. Il s'agit d'implémentation de certaines Java Specification Request (JSR) gérées de façon très formelle par le Java Community Process (JCP) et qui proposent des fonctionnalités avancées comme par exemple:
Wireless Messaging API (WMA 1.1 JSR 120) pour l'envoi de SMS
Multimedia Media API (MMAPI JSR 135) pour le support multimédia
Personal Information Management (PIM JSR 75) pour l'accès aux contacts
...
A noter aussi que certains constructeurs de téléphones portables et certains opérateurs peuvent rajouter des bibliothèques propriétaires au dessus de MIDP.
Friday, November 27, 2009
Java ME et les autres
Java ME mais aussi Blackberry, Symbian OS, Android, iPhone, DoJA, Brew... Ces noms vous disent peut etre quelque chose. Il s'agit de quelques plateformes utilisées sur des milliers de téléphones disponibles sur le marché. Quand un développeur souhaite développer une application, un choix important doit se faire sur la technologie à utiliser. Ce choix doit se faire en fonction des besoins auxquels l'application doit répondre mais aussi au parc de téléphone que le développeur souhaiterai couvrir qui revient généralement à choisir le public de l'application à developper.
Dans ce livre nous nous sommes intéressés à la plateforme Java ME pour les raisons suivantes:
technologie présente sur la plus grande majorité des téléphones disponibles sur le marché
plateforme de plus en plus mûre
outils de développement évolués
la prise en main de cette technologie est relativement rapide
profiter (en partie) de la puissance du langage Java
...
Au moment de la rédaction de ce livre, une dizaine de téléphone équipé du système d'exploitation de Google (Android) ont fait leur apparition sur le marché et une grande communauté de développeurs s'est créée autour donc à suivre de très près... ça sera peut être mon prochain livre :).
Dans ce livre nous nous sommes intéressés à la plateforme Java ME pour les raisons suivantes:
technologie présente sur la plus grande majorité des téléphones disponibles sur le marché
plateforme de plus en plus mûre
outils de développement évolués
la prise en main de cette technologie est relativement rapide
profiter (en partie) de la puissance du langage Java
...
Au moment de la rédaction de ce livre, une dizaine de téléphone équipé du système d'exploitation de Google (Android) ont fait leur apparition sur le marché et une grande communauté de développeurs s'est créée autour donc à suivre de très près... ça sera peut être mon prochain livre :).
Téléphonie mobile
Nous avons assisté ces dernières années a une évolution significative du rôle que joue le téléphone portable dans nos vies. Il est passé d'un outil de communication classique à un outil personnel avec lequel on s'orgnaise (agenda, calendrier...), on s'amuse (jeux...) et aussi on travaille (email...). Il n ya pas que l'utilisation du mobile qui a évolué mais les technologies qui y sont embarquées aussi. En effet, aujourd'hui presque tous les téléphones sont équipés d'appareil photo numérique, de Bluetooth et même d'écran tactile et de GPS.
Les tendances aussi changent souvent, au début on a tout misé sur la miniaturisation des mobiles jusqu'à avoir des téléphones d'une taille impressionnante mais aujourd'hui ce qui nous intéresse c'est plûtot la qualité des services qu'il offre (Taille d'écran, logiciels, mémoire, vitesse...). Cette évolution visible par tout le monde en cache une autre qui intéresse des utilisateurs particuliers à savoir les développeurs d'application embarquée sur mobile. En effet, on a vu apparaître et disparaître plusieurs technologies, plusieurs fabriquants de mobile, plusieurs outils de développement aussi. Mais à mon avis le changement le plus intéressant que nous avons vécu, en tant que développeurs, est l'évolution du type d'application qu'on peut embarquer sur un mobile. Nous avons commencé par des jeux basiques comme Snack pour arriver aujourd'hui à des jeux type Age of Empire ou autre. Mais on est aussi passer du jeu à l'application utile (synchronisation des contacts, gestion de compte bancaire) ou amusante (chat par Bluetooth, lecteur multimédia)...
Tout ceci pour dire que les développeurs d'application mobile ont de beaux jours devant eux à condition de se mettre à jour aux niveau des technologies mais aussi aux niveaux des outils qu'ils utilisent.
Les tendances aussi changent souvent, au début on a tout misé sur la miniaturisation des mobiles jusqu'à avoir des téléphones d'une taille impressionnante mais aujourd'hui ce qui nous intéresse c'est plûtot la qualité des services qu'il offre (Taille d'écran, logiciels, mémoire, vitesse...). Cette évolution visible par tout le monde en cache une autre qui intéresse des utilisateurs particuliers à savoir les développeurs d'application embarquée sur mobile. En effet, on a vu apparaître et disparaître plusieurs technologies, plusieurs fabriquants de mobile, plusieurs outils de développement aussi. Mais à mon avis le changement le plus intéressant que nous avons vécu, en tant que développeurs, est l'évolution du type d'application qu'on peut embarquer sur un mobile. Nous avons commencé par des jeux basiques comme Snack pour arriver aujourd'hui à des jeux type Age of Empire ou autre. Mais on est aussi passer du jeu à l'application utile (synchronisation des contacts, gestion de compte bancaire) ou amusante (chat par Bluetooth, lecteur multimédia)...
Tout ceci pour dire que les développeurs d'application mobile ont de beaux jours devant eux à condition de se mettre à jour aux niveau des technologies mais aussi aux niveaux des outils qu'ils utilisent.
First post
Hello everybody, this is my first post in this blog. Today I decide to launch my blog to write about wireless programming using J2ME platform, Android, BlackBerry, Symbian... I will give tips, examples. Bookmark this blog it will be great :). Don't hesitate to ask me questions I will answer as soon as possible.
Subscribe to:
Posts (Atom)