Mozilla, une plateforme de développement
Par Paul ROUGET
Séminaire Epicure
Comment ça "une plateforme de développement" ?
Une suite logiciele: Firefox, Thunderbird, Sunbird ...
Basés sur le même moteur: GECKO
XPFE: DHTML++
La notion de XulApp
À quoi ça ressemble ?
Et à quoi ça peut nous servir ?
Des applications web riches!
- Les webmails
- Interfaces d'administration
- Gestion documentaire (CMS)
- ...
Des applications desktop simples à mettre en oeuvre
finalement:
Allier la simplicité du web avec l'ergonomie et la richesse d'une vrai application Desktop
Et pourquoi je choisirais d'utiliser XUL&co pour mes applications Web ?
Le XUL, c'est beau, riche... et surtout ergonomique !
Le Web moderne:
- Web sémantique: RDF par exemple
- Extensibilité: XBL et Overlay
- AJAX: Webservices(XMLHttpRequest), DOM
- Mélanger plusieurs dialectes: MathML, SVG, XForms
Gecko est une grosse machine pour exploiter de façon moderne les nouvelles technologies du web !
Mais ...
...nécessité d'utiliser Mozilla
certaines technologies sont disponibles uniquement dans Mozilla
et ne sont pas (encore ?) standardisées
Vous parliez d'application desktop.
- Oxford University Press
- Bornes interactives
- Epicure :)
Les avantages:
- Multiplateforme (Windows, MacOS, GNU/Linux, Solaris ...)
- Localisation
- Extensibilité (Overlay)
- SIMPLICITÉ
Déploiement et mise à jour
Et si j'ai des besoins auquels Gecko ne répond pas ?
Comme:
- Manipuler correctement les contenus multimedia
- Communiquer avec un périphérique particulier
- Se connecter à des applications tiers (Skype)
Javascript, pour la glue (évennements, DOM ...), pas pour des processus métiers
Mais XpCom est là ! (et les plugins aussi)
Avec les composants XpCom, on peut rajouter des "compétences" à Mozilla !
Hou là, c'est pas du C++ ça ? Et la portabilité ? Moi je veux faire du Python !
On peut développer un composant en:
- C++
- Python
- Ruby
- Et plus si on veut..
Tous les composants peuvent communiquer entre eux (XPConnect)
Et on peut rester portable grâce à NSPR ! (fini la STL !)
Et finalement, on peut piloter son composant via du Javascript
Résumons ...
Les outils Mozilla sont basés sur un même moteur.
Vous pouvez réexploiter ce moteur dans deux contexts :
- Les applications web
- Les applications Desktop
Les avantages :
- Développement rapide et simple
- Multi-plateforme
- Extensible (à l'infini ?)
- Des langages et des fonctionnalités modernes
- Développement rapide: XML & CSS -> nouveau !
Les défauts :
- Nécessite Firefox ou équivalent
- Intégration d'application tiers pauvre
- Une courbe d'apprentissage importante
En vrac
XulRunner
Minimo
SVG
XForms
Les IDE (Eclipse x2, mozCreator, vim :p)
La documentation et la communauté
Ressources
xulfr.org
www.xulplanet.com
devlopper.mozilla.org
mozdev.org
END !
Q&A