Nashorn, combina el poder de Java y Javascript en la JDK 8

Seguramente se acuerdan de Rhino, este framework de la asociación Mozilla permitía correr javascript en la plataforma Java. Con Java 8, Oracle decidió remplazar este framework con uno propio y este tiene el nombre de Nashorn.

Entre las características de Nashorn podemos remarcar los siguientes puntos:

  • Tiene un soporte total de la especificación ECMAScript 5.1, además compila javascript a bytecode usando las nuevas características de la plataforma incluyendo invokedynamic introducido en el JDK 7.

  • Si comparamos el rendimiento con Rhino es Nashorn muy superior por utilizar invokedynamic, pero si lo comparamos con motores javascript como V8 (utilizado en Chrome y en Node.js) queda mucho trabajo por hacer.

  • Como Nashorn viene con JDK 8, también tiene soporte para interfaces funcionales y todas las nuevas características de la nueva versión del JDK.

Vamos a hacer una pequeña prueba, un "hola mundo" con Nashorn:

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

public class PruebaNashorn {

 public static void main(String[] args) throws ScriptException {
  ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
  ScriptEngine nashorn = scriptEngineManager.getEngineByName("nashorn");
  nashorn.eval("print('Hola Mundo')");
 }

}

Vamos a tomar ahora las instrucciones de un archivo, para eso debemos cambiar la instrucción eval de la siguiente manera:

nashorn.eval("load('src/hola.js')");

Y hola.js es el archivo siguiente:


function saludar(nombre) {
 print("Hola " + nombre);
}

saludar("Mundo");

Javascript es un lenguaje muy potente y fácil de utilizar, que nos puede ser de gran ayuda que podamos contar con el en la plataforma java es de gran utilidad.

Más información | Nashorn

Ver todos los comentarios en https://www.genbeta.com

VER 0 Comentario

Portada de Genbeta