Le moteur de JavaScript Rhino

Il existe deux implémentations du JavaScript dans le projet Mozilla, toutes deux provenant à l’origine de Netscape. D’une part l’implémentation en C appelée SpiderMonkey qui est la plus ancienne implémentation du JavaScript. Elle est utilisée par le moteur Gecko et donc par les navigateurs de la famille Mozilla-Firefox. La seconde implémentation écrite en Java est Rhino. Elle n’est pas utilisée par des navigateurs, les projets de navigateurs en Java ont tous disparu.
Cette implémentation va vous permettre d’apprendre le coeur du langage JavaScript qui est un langage assez particulier bien que sa syntaxe soit proche du C ou du Java. En effet le JavaScript est un langage « orienté objet par prototype » dont les concepts sont assez différents des langages orientés objet classiques. Par exemple en JavaScript, il existe bien la notion d’objet mais la notion de classe n’existe pas.

Comment utiliser Rhino? Tout d’abord, il ne faut pas oublier que Rhino est un programme Java et nécessite le JDK Il faut télécharger l’archive depuis le site de Mozilla, la décompresser sur le disque dans le répertoire de votre choix (dans l’exemple ce sera c:\rhino1_6R4). Vous pouvez utiliser Rhino en mode console ou comme débogueur.

Script DOS pour utiliser le debogueur

rem debug
set RHINO_HOME=c:\rhino1_6R4
@echo off
if exist %1 goto suite
echo error: usage %0 file.js
@echo off
goto fin
:suite
java -classpath %RHINO_HOME%\js.jar org.mozilla.javascript.tools.debugger.Main -f %1 
:fin


Script DOS pour utiliser la console JavaScript

rem Rhino shell
set RHINO_HOME=c:\rhino1_6R4
java -classpath %RHINO_HOME%\js.jar org.mozilla.javascript.tools.shell.Main

Dernier point, Rhino est une implémentation du JavaScript mais ne comporte pas le DOM qui est fourni par les navigateurs. Donc, le code testé par Rhino ne doit pas contenir les instructions provenant du DOM comme « window. », « document » et « alert ». Par contre pour évaluer le contenu d'une variable on peut utiliser la commande « print() », qui ne doit pas être évité dans un programme JavaScript destiné à être utilisé dans un navigateur (appel à l'imprimante).

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s