Rhino (moteur JavaScript)Rhino
Rhino est un moteur JavaScript libre. Il est développé entièrement en Java par la Fondation Mozilla (qui fournit aussi SpiderMonkey, un moteur JavaScript écrit en C). Il est distribué selon les termes des licences MPL et GNU GPL. Netscape a commencé le projet Rhino en 1997 au début du développement de Javagator, un navigateur en Java destiné à supplanter leur navigateur déjà existant, Netscape Navigator. Javagator fut abandonné, mais Rhino survécut, et fut même licencié par de multiples entreprises, qui en financèrent le développement. La Fondation Mozilla a hérité de Rhino en 1998, et l'a rendu open source par la suite. Description techniqueRhino peut être utilisé seul, comme interpréteur, mais aussi intégré dans une application. De même, il est capable de fonctionner en mode interprété, tout comme en mode compilé. Objets exposés par RhinoRhino ne fournit en principe que les objets natifs définis par la spécification du langage (exemples : Toutefois, son implémentation Java permet à un utilisateur d'utiliser tous les objets Java disponibles, comme le montre le code suivant (extrait de l'aide Mozilla[1]) : js> f = new java.io.File("test.txt") test.txt De plus, son utilisation en mode shell expose un certain nombre de fonctionnalités supplémentaires, que l'on peut trouver sur le site de Mozilla[2]. Chacune des applications embarquant Rhino peut exposer ses propres fonctionnalités. Par exemple, en tant que navigateur web, Javagator aurait exposé un DOM HTML complet à Rhino, permettant la manipulation de l'environnement HTML via JavaScript. Enfin, la version 6 de l'API Java offre désormais une interface générique permettant d'implémenter n'importe quel moteur de script, et inclut Rhino par défaut[3]. Rhino est par la suite remplacé par Nashorn, à partir de Java SE 8. Mode compilé et mode interprétéRhino est capable de fonctionner en mode compilé (le script est alors compilé en bytecode Java, Rhino pouvant même générer des binaires En mode compilé, Rhino peut rivaliser en performances avec SpiderMonkey, son équivalent implémenté en C, mais il serait toutefois victime de fuites de mémoire[4]. En mode interprété, la compilation du script est plus rapide, et aucune fuite de mémoire n'a lieu, mais le script est alors plus lent. Anecdotes
Notes et références
Voir aussiLiens externes |
Portal di Ensiklopedia Dunia