Magazine

Google Android : premières impressions ...

Publié le 13 mars 2008 par Mederic

Google a annoncé récemment le lancement d’un nouveau système d’exploitation pour les terminaux mobiles. Baptisé Android, son nom vient de la start-up qui l’a développé et qui a été rachetée par Google.

Qu’est ce qu’Android ?


Android est un système d’exploitation entièrement open source destiné à tourner sur des terminaux mobiles. Google fournit avec son OS toute une plate-forme de développement qui est assez riche, elle regroupe un ensemble d’outils et d’API permettant de concevoir et développer des applications assez complexes, basées sur le langage Java destinées à tourner sur des terminaux équipés de l’OS Android.
Android en tant que système d’exploitation est décomposé en cinq couches :
  • Le noyau : une couche de bas niveau, basée sur un noyau linux, qui assure la communication entre la couche logicielle et le matériel.
  • Des bibliothèques : Il  s’agit d’un ensemble de bibliothèques, en C/C++,  qui offrent des fonctionnalités de base qui peuvent être utilisées par les différents composants du système d’exploitation Android, ainsi que par les programmes, développés avec le kit offert, et déployés sur ce système. 
  • L’environnement d’exécution des applications Android : dont la machine virtuelle Dalvik est le composant principale. Cette machine virtuelle a été conçue spécialement pour des environnements  qui ont des contraintes liées aux ressources assez limitées (Mémoire, CPU, Batterie,…). Pour chaque nouveau programme devrant s’exécuter sur Android une nouvelle instance de la machine virtuelle Dalvik sera créée.
  • Un framework qui regroupe un ensemble d’applications et d’APIs écrites en Java, qui représente toujours la couche qui est en dessous toute application développée et déployés sur la plate-forme Android.
  • Des applications très utiles pour l’utilisateur final du système, parmi lesquelles on trouvera un programme qui permet la gestion de la liste des contacts avec toutes leurs informations, un calendrier, un navigateur web, mais aussi Google Map.

Quel avenir pour Android  ?


Une semaine avant le lancement officiel d’Android, Google a lancé la Open Handset alliance. Cette alliance regroupe 34 entreprises, dont des opérateurs téléphoniques et des constructeurs de terminaux mobiles tels que Samsung, Motorola, LG et HTC. A noter, l’absence remarquée de Nokia. La création de ce consortium assurera la réalisation de téléphones portables reposant sur un matériel qui sera totalement compatible avec le système d’exploitation Android. Les premiers terminaux Android, aussi appelés gPhone, verront le jour dans le deuxième semestre 2008.
Afin d’assurer son succès, mais surtout son adoption par la communauté des développeurs open source Google a lancé un challenge. L’enjeu de ce dernier est énorme : dix millions de dollars à partager entre les meilleures applications développées avec Android. Et pour inciter les développeurs à utiliser Android, Google a lancé avec sa première version du kit un plugin qui fonctionne sous Eclipse, et NetBeans.
Le premier téléphone Android  a été dévoilé au dernier congrès mondial du mobile par ARM. Toutefois ce téléphone reste une plate-forme de tests, les prochains téléphones auront sans doute une apparence différente.

Android vs J2ME


Après quelques expériences en développement J2ME, que ce soit avec CLDC/MIDP ou CDC/PP, je me permets de comparer le kit de développement offert par Android, à la Java Micro Edition sur trois plans :
  • la couche présentation : il repose sur la notion de Vue. Elle regroupe un ensemble d’informations dont la principale est le Layout qui définit la manière avec laquelle les composants graphiques seront positionnés sur la vue. Un certain nombre de vues, très conviviales par rapport à celles offertes par la J2ME, sont déjà prédéfinies : par exemple la Gallery, le GridView, ou encore l’ImageSwitcher. Grâce à Android, il est très facile de s’assurer que le développeur suivra une approche MVC, puisque toutes les vues peuvent être écrites en XML.
  • les services métiers : je me contenterai dans cet article de l’exemple de l’analyse de flux XML. La J2ME ne comprend  pas de parseur XML par défaut, donc il faut se débrouiller à chaque fois pour réaliser des analyses de  flux XML ou utiliser des micro parseurs externes qui la plupart du temps chargent tout le contenu en mémoire avant de le traiter ce qui est très consommateur en RAM ce qui est très pénalisant sur terminal mobile. Android, en revanche, inclu en standard un ensemble d’interfaces et de classes permettant d’implémenter assez facilement un parseur SAX2 peu consommateur de mémoire.
  • la persistance : parmi les bibliothèques écrites en C/C++, qui pose la deuxième couche du système d’exploitation Android, on trouve un moteur de base de données relationnel léger qui permet d’exécuter des requêtes SQL simples et très lisibles pour les développeurs. Android offre aussi un ensemble de fonctionnalités permettant de gérer la base de données. Une fonctionnalité qui n’existe pas en J2ME qui se base,  sur le RMS (Record Managment Service), qui persiste les données sous forme de collection d’enregistrement, appelée RecordStore, représentées par des octets. Ce dernier pose d’énormes problèmes de performance  lors des phases d’enregistrement et de recherche sur de grandes collections d’objets complexes.
En conclusion, Android semble être un OS très prometteur, en particulier face à J2ME. On attendra donc la sortie des premiers gPhones avec impatience !

Retour à La Une de Logo Paperblog

A propos de l’auteur


Mederic 82 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte