Architecture de WebOS

Le système WebOS qui tourne sur le Palm Pre se découpe en plusieurs composants:

Architecture WebOS

Architecture WebOS

En commencant par les couches hautes, on trouve les applications qui sont écrites avec les technos web (html, javascript, css, …) et reposent sur le Mojo Framework qui fournit toutes les fonctionnalités et les composants de base pour faciliter le développement.

Le framework permet également d’accéder à une couche de services tels que la géolocalisation ou l’appareil photo.

Enfin, cette couche de services repose elle-même sur un système d’exploitation (le coeur du système) à base de Linux et de composants développés spécifiquement par Palm (gestion des appels, de l’écran et du clavier notamment).

On notera que l’on n’a pas accès directement à la couche des services ni au système.

Les applications sont prises en charge par le UI System Manager dont l’un des composants essentiels est l’Application Manager qui charge les applications, contient le framework et des applications systèmes particulières; il gère aussi la barre de status et le Launcher. Il est en charge du rendu graphique et du stockage de données via une interface avec SQLite.

Les composants graphiques sont construits dans le framework puis gérés par l’Application Manager, par contre les demandes de services passent par un bus (le Palm Bus) jusqu’au Service Handler associé.

Quelques mots pour finir sur le système d’exploitation:

Il est basé sur une version du noyau Linux 2.6 avec l’architecture standard des drivers gérée par udev avec un boot propriétaire. Le système de fichiers est en ext3 pour la partition interne et en fat32 pour la partition média accessible via USB afin de permettre le transfert de fichiers.

Le système Wireless Comms fournit la gestion de la connection au réseau, notamment pour le WiFi.

Le serveur de media est base sur gstreamer et inclus le support pour de nombreux types de fichiers.

Pour l’essentiel, on s’intéressera surtout au Mojo Framework qui est le composant principal d’un point de vue du développeur puisqu’il faut connaitre les différents éléments fournis (DashBoard, Scene, …) ainsi que les composants graphiques afin de développer son application.

Laisser un commentaire

Faites un trackback via votre propre site. Vous pouvez aussi vous abonner au fil RSS des commentaires : Abonnez-vous aux réponses de ce billet via RSS.

Votre mail ne sera jamais communiqué. Les champs obligatoires sont marqués par une *