Après l’étude rapide de l’architecture du système WebOS, regardons les composants du Mojo Framework.
Ce framework est inclus dans le SDK (kit de développement) fournit par Palm afin de développer des applications sur WebOS. On y retrouve de nombreux composants graphiques (widgets) afin de concevoir des interfaces riches, mais aussi les moyens de contrôler les événements, gérer des notifications et accèder aux services (base de données, GPS, appareil photo, …)
Il est faut se souvenir que WebOS est un système multitâches. Les applications, tant qu’elles ne sont pas fermées, continuent à tourner en tâche de fond, avec une priorité moindre. L’application peut alors continuer à recevoir des événements, lire ou écrire des données et accéder aux services. L’application peut même communiquer avec l’utilisateur par deux moyens:
- une fenêtre popup: c’est une fenêtre modale, qui est utilisée notamment lorsqu’arrive un événement important (appel, alerte avant une réunion, etc…)
- une bannière (banner): c’est un message qui s’affiche brièvement en bas de l’écran avant de laisser place à un icône spécifique rappelant que tel événement s’est produit. Typiquement, une bannière sera utilisée à la réception d’un mail ou d’un message. En cliquant sur l’icône, l’utilisateur fera apparaître un dashboard, panneau qui montrera par exemple les messages en cours.
Pour en revenir au programme lui-même, une application WebOS ressemble fortement à une application web, utilisant les mêmes technologies (Javascript, HTML, CSS), mais le cycle de vie est différent.
On peut considérer que l’architecture d’une application tourne autour des stages et des scenes. Une application peut avoir plusieurs stages, mais gébéralement, un programme aura un seul stage qui correspond à la card (carte) de l’application.
Une application complexe comme un programme de mail aura plusieurs stages (par exemple un pour afficher la boîte de réception et un autre pour rédiger un mail).
Les scenes sont des vues mutuellement exclusives d’une application au sein d’un stage. Certaines applications très simples, comme une calculatrice, ont une seule scene, mais la plupart des applications vont gérer plusieurs scenes en choisissant quelle est la scene à afficher en fonction des actions de l’utilisateur notamment. On dit que l’application gère une pile de scenes.
On peut schématiquement découper une scene en deux parties; un contrôleur (scene assistant) qui est un composant Javascript et une vue (scene view) qui est un composant HTML correspondant à l’aspect graphique de la scene.
C’est le Mojo Framework qui contrôle la pile des scenes, mais il faut tout de même que le programme traite les événements qui induisent les transitions entre scene. Le framework fournit un certain nombre de Stage Assistants pour nous aider dans cette tâche.
Afin de faciliter le travail du framework, il est préférable de respecter une arborescence particulière ainsi que des conventions de nommage; on trouvera des répertoires pour les scenes et les feuilles de style par exemple; mais en utilisant les outils fournis avec le SDK ou des environnements de développement tels qu’Eclipse avec le plug-in approprié, tous les composants de base sont déjà générés.
Prochainement, on tâchera de mettre tout cela en application via un exemple concret.




























