Attention : Le contenu de ces pages n'a pas été mis à jour depuis longtemps. Il est probablement obsolète pour Firefox 4.0/Gecko 4.0 et supérieur. Pour du contenu plus récent, allez consulter developer.mozilla.org.

Gecko et java

Voici une comparaison de la plateforme Mozilla avec la plateforme Java pour le développement d'application.

Attention cependant, comme toute comparaison de plateforme de développement, elle n'est qu'un indicateur. Pour vraiment comparer, il faut savoir : pour quoi faire ? Les avantages de l'un peuvent se transformer en inconvénients et vice versa. Tout dépend, en définitive, ce qu'on l'on veut développer.

Similitudes de Gecko avec Java

  • dépendance d'un moteur : Pour une application Mozilla, il faut avoir un moteur Gecko installé (XulRunner, Firefox…). Pour Java, il faut installer une JVM (Java Virtual Machine)

Inconvénients de Gecko avec Java

  • Moins répandu que java, même si c'est de moins en moins vrai (Firefox a déjà été téléchargé plus de 270 Millions de fois — ce qui fait presque autant de postes disposant de la plateforme Mozilla)
  • Courbe d'apprentissage certainement plus longue vu le nombre de technologies que l'on peut utiliser. Mais un développeur web compétent peut vite apprendre puisque bon nombre de technologies du web sont utilisées dans les applications Mozilla.
  • Moins de ressources documentaires, (livre, documentation online, etc.). Mais là aussi, le vide se comble peu à peu.

Avantages de Gecko avec Java

Liste non exhaustive :

  • Pas besoin de phase de compilation, d'environnement de développement complexe. Firefox ou XulRunner, et un simple éditeur de texte suffisent (et un winzip pour distribuer les extensions),
  • Rapidité de développement de l'interface utilisateur (en java, il existe aussi des bibliothèques additionnelles qui permettent de faire du XUL-like, et qui génèrent l'interface via SWT, swing…),
  • Possibilité de modifier l'interface d'un logiciel XUL sans toucher au code dudit logiciel (grâce au système des overlay XUL),
  • Extensibilité naturelle des applications,
  • Utilisation en majorité de langages standards : XSLT, CSS, RDF, SVG, XHTML, DOM, ecmascript etc. Cela permet une capitalisation des connaissances des technos web,
  • Pour la glue entre l'interface et les traitements métiers : javascript. Simple à utiliser et efficace. (Et d'ici 2007, ce sera possible avec Python),
  • Possibilité d'avoir une interface plus « sexy » (design utilisant CSS),
  • Utilisation des modèles (Templates XUL) : pour intégrer facilement des données dans une interface (remplir des listes — listbox —, des arbres — trees —, des menus etc.),
  • Utilisation en environnement web sans plugin, distant (en java, il faut le navigateur ET la jvm),
  • XUL étant du XML, on peut mélanger dans un même fichier plusieurs dialectes : on peut donc afficher sur un même écran du XUL, du XHTML, MathML (formules mathématiques), SVG (dessins vectoriels) etc.
  • Développement des composants métiers, dans le langage que l'on préfère (C++, Javascript, Java, Python, Ruby…) grâce à la technologie XPCOM/XpConnect.

Foire aux questions

En terme de performances, un « client riche » Mozilla est-il plus rapide qu'un « client riche » SWT ?

Impossible à déterminer. Cela dépend de nombreux facteurs : puissance de la machine, complexité de l'interface, puissance de la carte graphique etc..

Est-il possible à ce jour de coder des composants XPCOM en Java ?

Oui, c'est possible. Voir la page XpCom.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.