Vinicius Quaiato

{tecnologia, conceitos, negócios, idéias, práticas, .NET, ruby, osx, ios e algo mais}

Rodando IronRuby no browser


Pois é, é possível utilizar o Ruby diretamente no browser, graças ao IronRuby com Silverlight podemos escrever scripts diretamente com Ruby.Neste post mostrarei apenas como "configurar" tudo para ser executado. É algo bem simples, e não requer grande esforço.Vamos precisar apenas de um servidor web, e eu estou utilizando o IIS.Crie um arquivo HTML com o código abaixo:

        document.divMessage.onclick do |s,e|            document.divMessage.innerHTML = s.Id             document.divMessage.innerHTML += " | " + s.ToString             document.divMessage.innerHTML += " | " + e.to_s        end    </script></body></html>

Wow! Mas que código é este?! Isto é IronRuby, ou seja, código Ruby + código .NET.Neste código é importante notar a linha 3, onde incluímos um arquivo javascript, e este é o responsável por permitir que o IronRuby seja executado diretamente no browser. Este código javascript inicializa o Silverlight, de modo que o IronRuby possa ser executado.Na linha 6 apenas criamos uma div com um texto indicando que o IronRuby está sendo inicializado. Nada demais, texto puro.Da linha 7 até a linha 13 criamos um script do tipo text/ruby, sim! Dentro deste script é que escrevemos nosso código Ruby/IronRuby. Perceba que na linha 8 estamos definindo o que acontecerá quando a div for clicada. Na linha 9 estou obtendo o id do sender deste evento e atribuindo diretamente ao innerHTML da nossa div. Na linha 10 estou chamando o método ToString do .NET (isso!) no sender do evento. E na linha 11 estou chamando o método to_s, que é o ToString do Ruby, ou seja, estamos realmente usando Ruby e .Net!Poderíamos trocar por este código aqui:

document.divMessage.onclick do |s,e|    window.alert "Alert direto do IronRuby"end

Bem interessante não?!Para que tudo isso funcione, salve este arquivo como .html mesmo, mas faça isso dentro de um diretório mapeado pelo IIS (ou pelo seu servidor web, Apache por exemplo). No meu caso coloquei dentro de uma pasta chamada ironruby e acesse assim: http://localhost/ironruby/teste.htmlPágina sendo executada:IronRuby rodando direto no browser

Resultado após o click:IronRuby após click rodando direto no browser

Resultado após click com alert:IronRuby rodando direto no browser com alert

É isso galera, simples e prático. Nos próximos posts demonstro como trabalhar com XAML + IronRuby direto no browser.

Att, Vinicius Quaiato.

Voltar

Fork me on GitHub