Integração Ruby

Olá pessoal que está trabalhando com Ruby, tenho algumas perguntas…

Vocês utilizam Ruby ou JRuby?

Quem utiliza JRuby, é estável? Posso usar sem medo de ser feliz?

Quem utiliza JRuby, consegue acessar classes Java e vice versa de maneira simples? Tem alguma API pra fazer isso?

Qual IDE vocês utilizam? Paga ou free?

Trabalham com Ruby profissionalmente? Ou apenas por diversão?

Obrigado

Ola,

Bom, eu comecei a estudar Ruby, mais especificamente JRuby, ele tem uma ótima integração com classes Java, que foi a principal consideração na prospecção para scripting, tem uma forma padrão de integração com a plataforma Java, e tem uma documentação/comunidade boa.

Para programar eu estou usando o eclipse, tem um plugin para o Ruby, mas vc tem que baixar o interpretador no site e configurar o eclipse para acessar ele, é muito bom.

[quote=rogelgarcia]Olá pessoal que está trabalhando com Ruby, tenho algumas perguntas…

Vocês utilizam Ruby ou JRuby?

Quem utiliza JRuby, é estável? Posso usar sem medo de ser feliz?

Quem utiliza JRuby, consegue acessar classes Java e vice versa de maneira simples? Tem alguma API pra fazer isso?

Qual IDE vocês utilizam? Paga ou free?

Trabalham com Ruby profissionalmente? Ou apenas por diversão?

Obrigado[/quote]

o Redcar é um bom editor para se trabalhar com Ruby, JRuby, porém editor não IDE, acho o suporte das ides não é muito bom para linguagens dinamicas.

Normalmente mecho com Ruby, mas já mechi com JRuby sem problemas.

JRuby acessar classes Java = Fácil - basta usar por exemplo javax.swing.JTextField.new
Java acessar codigo JRuby = Trabalhoso, complexo, chato, http://blog.rollingwithcode.com/2009/07/java-scriptengine.html

No momento só por diversão :smiley:

Ok pessoal… obrigado pelas respostas!

Eu tenho um exemplo de jruby+swing no github.
Veja se te ajuda em algo.

[quote=rlazoti]Eu tenho um exemplo de jruby+swing no github.
Veja se te ajuda em algo.

http://github.com/rlazoti/jruby-swing-lookandfeel[/quote]

Legal cara… a integraçao é bem simples mesmo… acesso direto…

Esse tipo de construcao

@button_close.add_action_listener do |event| option = JOptionPane::show_confirm_dialog( self, "Close application?", "Question", JOptionPane::YES_NO_OPTION ) if ( option == JOptionPane::YES_OPTION ) self.dispose end end

Em Java vc usaria uma classe anonima, que implementa uma interface…

Como foi feito para usar isso no estilo Ruby??

A integraçao com java já dá o estilo ruby para interfaces de apenas um método??? Ou isso foi implementado apenas para as interfaces do swing??

Esse método add_action_listener de onde veio??

(num sei se deu pra entender a minha pergunta)

o JRuby converte os nomes do formato java CamelCase para o formato Ruby camel_case

mais se não me engano vc ainda tem os metodos no formato java disponiveis.

Certo… mas nessa conversão… a interface com um método é convertida tb??

Funcionaria se eu criasse uma interface com um método apenas? Usar o formato ruby?

[quote=rogelgarcia]Certo… mas nessa conversão… a interface com um método é convertida tb??

Funcionaria se eu criasse uma interface com um método apenas? Usar o formato ruby?[/quote]

Em classe. No Ruby não existem interfaces

vc tem que implementar uma classe que extenda a AcionListener ou so implementaer o metodo action_performed do ActionListener (sem herdar nada)

que deve funcionar.

Em ruby vc utiliza as interfaces do java como se fosse um mixins, que vc mixa utilizando o trexo abaixo

include ActionListener

depois vc implementa actionPerformed normalmente

actionPerformed(e)

 case e.source
      when @seuItem
 end
end

Aqui tem exemplo desta implementação

[quote=ovelha][quote=rogelgarcia]

Em Java vc usaria uma classe anonima, que implementa uma interface…

Como foi feito para usar isso no estilo Ruby??
[/quote]

Em ruby vc utiliza as interfaces do java como se fosse um mixins, que vc mixa utilizando o trexo abaixo

include ActionListener

depois vc implementa actionPerformed normalmente

actionPerformed(e)

 case e.source
      when @seuItem
 end
end

Aqui tem exemplo desta implementação
http://github.com/akitaonrails/jruby_calculator_demo/blob/master/calculator.rb[/quote]

Por ser o Fabio Akita, esse codigo ta bem feiinho hein. esse esquema de tratar o source ai é foda.

Este codigo é um port deste: http://github.com/akitaonrails/jruby_calculator_demo/blob/master/Calculator.java

Agora se isto é feio ou bonito eu não sei não tenho muita pratica com swing

Ruby.

Textmate (paga).
Recomento o JEdit (free, Linux, Win), embora a maioria goste do Gedit (Linux), eu não gosto rs

Profissionalmente.

[]s