URL: https://linuxfr.org/users/epeios/journaux/xulrunner-et-c Title: XULRunner et C++. Authors: Claude SIMON Date: 2012年02月14日T12:35:05+01:00 License: CC By-SA Tags: xul Score: 25 _XULRunner_ est un environnement d'exécution d'applications _XUL_, _XUL_ étant un langage de description d'interfaces graphiques. Une application _XULRunner_ est typiquement codée en _JavaScript_. Une partie du code d'une application _XULRunner_ peut néanmoins être déportée dans des composants _XPCOM_ (codés en _C++_ le plus fréquemment). Pour mettre en œuvre un tel composant, on écrit généralement un fichier '.idl', décrivant son _API_, qui sert à générer les fonctions _JavaScript_ au travers desquelles on accède au composant concerné. Pour puissants et nombreux que sont les éléments disponibles avec _XULRunner_, ils ne permettent pas à une application d’accéder à toutes les ressources du système sur lequel elle est utilisée. Les composants _XPCOM_ permettent de pallier à cela. Si l'on met en œuvre un tel composant, en utilisant _C++_, il peut s’avérer intéressant de coder l'intégralité de l'application en _C++_, pour éviter d'avoir à jongler entre ce dernier et _JavaScript_ (entre autres avantages). Il existe une abondante documentation, assortie de tutoriels et d'exemples, portant sur la manipulation des éléments disponibles avec _XULRunner_ en _JavaScript_. A l'inverse, l'équivalent pour _C++_ est anémique, pour ne pas dire inexistant. Cela rend le développement d'une application _XULRunner_ entièrement en _C++_ très compliqué, comme j'ai pu en faire l'expérience. Néanmoins, malgré les difficultés, c'est une approche que j'ai définitivement adoptée. Pour éviter à ceux qui serait également intéressé par cette approche de se heurter aux mêmes difficultés que celles j'ai rencontrées, j'ai, pour commencer, mis en ligne le résultat de mes recherches sur le sujet sous la forme, à titre d'exemple, d'une d'application. Cette application montre comment il est possible de réagir à des évènements issus de l'interface _XUL_, de récupérer des information de cette interface (contenu d'un 'textbox' p. ex.), ou de modifier cette interface (remplir une 'textbox', p. ex.) et ce, uniquement en _C++_. Cette application, qui fonctionne sous _GNU/Linux_, _MacOS_ et _Windows_, est diffusée sous licence _GNU GPL_. Pour consulter les sources, ou bien les télécharger pour éventuellement les compiler, ça se passe sur cette [page](http://zeusw.org/blog/?article14/) (http://zeusw.org/blog/?article14/).

AltStyle によって変換されたページ (->オリジナル) /