I have joined Anti-IF Campaign

Nashorn : le nouveau moteur Javascript de Java 8

Nashorn est le successeur de Rhino en tant que moteur d'exécution Javascript (ECMAScript) au sein de la JVM pour Java 8. Il utilise les MethodHandles et surtout InvokeDynamic spécifiés par la JSR-292.
Il a été publié le 21 décembre 2012 par Oracle dans OpenJDK.



Que peut-on en faire ?
On peut ainsi développer des applications entières en Javascript coté serveur.
On peut même parait-il faire fonctionner node.js dans la JVM :
http://insin-notes.readthedocs.org/en/latest/JavaOne2012/nashorn_node_jpa_persistence_bof.html

Comment ca marche ?
Grâce à Nashorn, il est possible de faire interagir un programme Java et un programme Javascript ensembles.
Autrement dit, pour pouvez :
- faire transiter des variables entre ces deux mondes
- permettre à Java d'appeler des fonctions Javascript et inversement

Voici un exemple complet :

La partie Java :


La partie Javascript :


Conclusion :
Je pense que des frameworks / outils vont rapidement arriver pour mettre à profit des fonctionnalités qui deviennent enfin utilisables en termes de perf et de compatibilité ECMA test262 (contrairement à Rhino).

Note :
Il est possible malgré tout d'utiliser Nashorn avec Java 7 à l'aide d'un portage de l'api :
bootclasspath with -Xbootclasspath/a:$NASHORN_HOME/dist/nashorn.jar

Liens utiles :
Source des exemples Nashorn sur Github
Oracle Nashorn blog
Nashorn wikipedia
Nashorn video parleys
javascript tests with junit
javascript shell scripting with nashorn

Aucun commentaire:

Enregistrer un commentaire