Si existe Scala.js por que no puede existir un Groovy que corra en el browser. Y existe y se llama Grooscript.
Grooscript es todo lo que has soñado y si no lo soñaste te cuento. Este es un lenguaje muy similar a groovy que compila a javascript.
Y se puede utilizar en framework como node, veamos un ejemplo:
//DSL using Node.js with Express
get('/') {
render 'Hello World!'
}
get('/spanish') {
render 'Hola Mundo!'
}
get('/salute/:name') {
render "Hello ${req.params.name}!"
}
}.start(3000)
Para poder utilizarlo debemos instalar node y groovy y luego instalar con npm grooscript :
> npm install grooscript
Luego de instalada podemos crear nuestros archivos groovy, por ejemplo :
class Hello {
def methodMissing(String name, args) {
println "Hello ${name}!"
}
}
def hello = new Hello()
hello.Groovy()
hello.Javascript()
hello.grooscript()
Luego tenemos que compilar este script groovy a javascript :
@Grab('org.grooscript:grooscript:1.2.2')
import org.grooscript.GrooScript
def conversionOptions = [:]
conversionOptions['initialText'] = "var gs = require('grooscript');"
GrooScript.convert 'source.groovy', '.', conversionOptions
luego con este último script, compilamos el script inicial de la siguiente forma :
groovy convert.groovy
con este paso obtenemos el source.js, que podemos ejecutarlo así :
> node source.js
Hello Groovy!
Hello Javascript!
Hello grooscript!