Ejecutando Ruby en el interprete de JavaScript

28 03 2008

Me gusta el blog Ajaxian por que es de los grandes blogs en idioma inglés en los que encuentras la mejor información de una manera fácil y con ejemplos. Nuevamente, tomo uno de las noticias de este gran blog para refererirme a esta gran curiosidad: Ruby del lado del cliente.

He visto varias cosas interesantes pero estos chicos realmente me sorprenden. Directo del departamento de investigación del blog Ajaxian, llega la noticia de HotRuby que es una implementación del lenguaje Ruby en JavaScript.

El modo de funcionamiento de bastante peculiar pues parece que para hacer esta interesante combinación HotRuby “toma el resultado de YAMV y lo interpreta para luega procesarlo en formato JSON”:

# Ruby
VM::InstructionSequence.compile(cgi['src'], "src", 1,OutputCompileOption).to_a.to_json

Y claro, el codigo en lenguaje Ruby lo puedes embeber en la página HTML con la etiqueta SCRIPT:

<script type = "text/ruby">
    class Pi
        def initialize
            @a = 355.0
        end
        def calc
            b = 113.0
            return @a / b
        end
        PI = 'PI is about'
    end
    puts Pi::PI
    puts Pi.new.calc
</script>
<body onload = "prettyPrint(); new HotRuby().runFromScriptTag('/compileRuby.cgi')">

El codigo resultante puede interactuar “tan bien” con el entorno de DOM que de hecho puede soportar Flash. Los chicos creadores del proyecto han puesto a disposición un excelente ejemplo del funcionamiento de Ruby, JavaScript y Flash. Yo me pregunto, que tan práctico será hacer este tipo de combinación entre lenguajes. Aunque seguro, no podré colocar los datos de conexión a mi base de datos.