Sigue a Genbetadev

javascript

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

Los comentarios se han cerrado

Ordenar por:

3 comentarios