Translate

Mostrando las entradas con la etiqueta Rhino. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Rhino. Mostrar todas las entradas

domingo, 8 de junio de 2014

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.

Dejo links:
http://www.infoq.com/articles/nashorn
http://docs.oracle.com/javase/8/docs/technotes/guides/scripting/nashorn/
http://www.oracle.com/technetwork/articles/java/jf14-nashorn-2126515.html

miércoles, 1 de mayo de 2013

Javascript y java un solo corazón



Leyendo InfoQ me tope con una interesante noticia, sobre javascript y java. Se ha anunciado una nueva implementación de javascript a la plataforma Java que utiliza la potencia de InvokeDynamic. Esta implementación se llama Dynjs.


Mientras tanto Oracle anuncio otra implementación llamada Nashorn y con la implementación ya conocida Rhino suman 3 y como se puede ver javascript se viene con todo y la plataforma java no quiere quedarse afuera. InvokeDynamic permite que se ejecute javascript con mayor performance utilizando closures de forma nativa.



Dejo links:
http://www.infoq.com/news/2011/10/dynjs
http://openjdk.java.net/projects/nashorn/
https://developer.mozilla.org/es/docs/Rhino
http://dynjs.org/

martes, 27 de noviembre de 2012

Cual es el próximo lenguaje java?

InfoQ realiza una encuesta preguntando, cual va ser el próximo lenguaje que va a triunfar en la JVM. A votar!

Que piensan? Cual es el próximo lenguaje? que lenguaje hay que ir estudiando?

Dejo link:
http://www.infoq.com/research/next-jvm-language?utm_source=infoqresearch&utm_campaign=lr-homepage