JRuby   “Explorando um Mundo de Possibilidades”                    Mateus e Paulo Igorstaff@idopter.com
JRuby   “Explorando um Mundo de Possibilidades”                    @mateuslinhares                          e             ...
staff@idopter.com
http://idopter.comstaff@idopter.com
http://idopter.comstaff@idopter.com
http://idopter.comstaff@idopter.com
http://idopter.comstaff@idopter.com
http://idopter.com   http://lancelote.comstaff@idopter.com
Fim do “Merchan”staff@idopter.com
Objetivo da palestra           Compartilhar nosso estudos!staff@idopter.com
O que é o JRuby?                    JAVA + RUBY?staff@idopter.com
“…é uma implementação da       linguagem Ruby em Java”staff@idopter.com
“…é uma implementação da       linguagem Ruby em Java”staff@idopter.com
História• criado em 2001 por Jan Arne Petersen• Core Team 2008   – Liderados por Charles Nutter• JRuby 1.1 – JIT e AOT com...
História•   0.9 (2006) – suporte ao Rails•   1.1 (2008) – Melhoria de performance com JIT e AOT•   1.1.4 (2009) – suporte ...
boring…staff@idopter.com
JSR-292staff@idopter.com
JSR-292             Invokedynamic        (projeto Da Vinci Machine)staff@idopter.com
JSR-292 http://www.infoq.com/br/   articles/invokedynamicstaff@idopter.com
staff@idopter.com
Porque JRuby?staff@idopter.com
Palavras de Charles Nutter       http://www.slideshare.net/CharlesN         utter/rubyconf-brazil-2010-jrubystaff@idopter....
Se você…  …quer ou precisa rodar na JVM…           …JRuby é a resposta!staff@idopter.com
Se você…      …precisa usar uma lib java…           …JRuby é a resposta!staff@idopter.com
Se você…  …quer o melhor GC do mundo…           …JRuby é a resposta!staff@idopter.com
Se você…    …odeia lidar com libs nativas…           …JRuby é a resposta!staff@idopter.com
Se você…  …precisa desenvolver ou “deployar”   em qualquer OS/plataforma que                seja…             …JRuby é a r...
Se você…        …quer integrar com outras     linguagens como Clojure, Scala,                 Mirah…             …JRuby é ...
Se você…        …quer um Ruby melhor…           …JRuby é a resposta!staff@idopter.com
Se você…        …quer um Ruby melhor…           …JRuby é a resposta!staff@idopter.com
O melhor dos dois mundos• Java(JVM) oferece   – GC eficiente   – Green Threadingstaff@idopter.com
O melhor dos dois mundos• Java(JVM) oferece   – GC eficiente   – Green Threading   – Portabilidade   – Grande Legadostaff@...
O melhor dos dois mundos• Ruby oferece   – Tipagem dinâmica   – Orientação a Objetos   – Classes abertas   – Metaprogramaç...
Let’s do it!•   Instalando JRuby•   Hello World•   Exemplos•   Exemplos•   Exemplos•   …staff@idopter.com
Instalando o JRubystaff@idopter.com
http://jruby.orgstaff@idopter.com
http://jruby.org/getting-startedstaff@idopter.com
…pra dar sorte!                    “Hello World”staff@idopter.com
…pra dar sorte!                    “Hello World”staff@idopter.com
Quais são as possibilidades?        Exemplos, Exemplos, Exemplos, …staff@idopter.com
Classes Java no JRuby                    require ‘java’staff@idopter.com
Java no JRubystaff@idopter.com
Java no JRuby             usando classes Javastaff@idopter.com
usando classes JavaImportando a classe Java          classe Javastaff@idopter.com
Java : java.lang.System JRuby: Java::JavaLang::Systemstaff@idopter.com
Pacotes Java no JRuby  MóduloJavaSocket staff@idopter.com
Pacotes Java no JRubystaff@idopter.com
Referência ao módulostaff@idopter.com
Usando interface javastaff@idopter.com
Usando as classes javastaff@idopter.com
JRuby Socket       jruby-lab/examples/socket_examplestaff@idopter.com
MySQL com JRuby usando JDBC          jruby-lab/examples/mysql-jdbcstaff@idopter.com
Usando .JARstaff@idopter.com
Java Swing com JRuby          jruby-lab/examples/jruby-swingstaff@idopter.com
Rails e JRubystaff@idopter.com
JRuby no Toncat/JBoss/Glassfishstaff@idopter.com
JRuby e JMSstaff@idopter.com
Rspec e Java      jruby-lab/examples/testing-java-with-                     jrubystaff@idopter.com
E o que mais?staff@idopter.com
Projeto Ruboto                JRuby is everywhere!staff@idopter.com
Projeto Ruboto                    =>staff@idopter.com
Projeto Ruboto                    =>staff@idopter.com
Projeto Rubotostaff@idopter.com
E o que mais?staff@idopter.com
JRuby no Google App Enginestaff@idopter.com
…quer mais?staff@idopter.com
quer mais?staff@idopter.com
Referências e Dicas                    Jruby-Labstaff@idopter.com
staff@idopter.com
• Exemplos   • Referências       – Artigos       – Wiki       – Apresentações       – Blog       – Twitterstaff@idopter.com
https://github.com/pigor/jruby-labstaff@idopter.com
staff@idopter.com
http://groups.google.com/group/guru-pastaff@idopter.com
Obrigado!!!         @mateuslinhares e @pigodinho          {mateus, pigor}@idopter.comstaff@idopter.com
JRuby   “Explorando um Mundo de Possibilidades”                    @mateuslinhares                          e             ...
Próximos SlideShares
Carregando em…5
×

JRuby - Explorando um mundo de possibilidades

1.174 visualizações

Publicada em

apresenta o JRuby e vários exemplos usando o JRuby com tecnologias diversas como: RSpec, JBoss, JMS, JDBC, Ruboto, etc... além de apresentar o laboratório aberto do JRuby-lab que é um projeto aberto com vários exemplos e referências usando o JRuby.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.174
No SlideShare
0
A partir de incorporações
0
Número de incorporações
37
Ações
Compartilhamentos
0
Downloads
7
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Por isso o “ Explorando um Mundo de possibilidades ” , pois não conhecemos todo o seu potencial, e por isso estamos estudando!
  • JRuby is a Java implementation of the Ruby programming language. It is free software released under a three-way CPL/GPL/LGPL license. JRuby is tightly integrated with Java to allow the embedding of the interpreter into any Java application with full two-way access between the Java and the Ruby code (similar to Jython for the Python language).
  • http://www.infoq.com/br/articles/invokedynamic “ Os pontos fortes da plataforma Java, tais como um garbage collector (coletor de lixo) eficiente, um modelo robusto de segurança e a disponibilidade ampla do runtime do Java (JRE), juntamente com uma grande quantidade de bibliotecas e ferramentas, fizeram a plataforma ser amplamente adotada para esta finalidade, havendo hoje mais de 240 diferentes linguagens que executam sobre a máquina virtual Java (JVM). ” “ A API de MethodHandles (referências de métodos) descrita na JSR-292 fornece os elementos básicos para a escrita da "cola" simples entre o método de origem (o "chamador") e o de destino.” (Charles Nutter) “ A InvokeDynamic contacta a sua linguagem ou biblioteca quando uma chamada dinâmica é feita, e você responde fornecendo uma referência de método (ou uma cadeia de referências). A referência então conecta a origem ao destino da maneira apropriada.” (Charles Nutter)
  • http://www.infoq.com/br/articles/invokedynamic Tanto a Microsoft, com o .Net 4 e a DLR, quanto a Oracle, através do projeto Da Vinci Machine e do Java 7, estão procurando aprimorar o suporte a linguagens alternativas que têm como destino suas máquinas virtuais. Este movimento é reflexo de uma tendência crescente entre os desenvolvedores e implementadores de linguagens, que estão utilizando cada vez mais ambientes de execução pré-existentes para executar suas linguagens, dado que desenvolver a partir do zero um novo ambiente de execução representa um grande investimento. Os pontos fortes da plataforma Java, tais como um garbage collector (coletor de lixo) eficiente, um modelo robusto de segurança e a disponibilidade ampla do runtime do Java (JRE), juntamente com uma grande quantidade de bibliotecas e ferramentas, fizeram a plataforma ser amplamente adotada para esta finalidade, havendo hoje mais de 240 diferentes linguagens que executam sobre a máquina virtual Java (JVM).
  • “… havendo hoje mais de 240 diferentes linguagens que executam sobre a máquina virtual Java (JVM).”
  • JRuby - Explorando um mundo de possibilidades

    1. 1. JRuby “Explorando um Mundo de Possibilidades” Mateus e Paulo Igorstaff@idopter.com
    2. 2. JRuby “Explorando um Mundo de Possibilidades” @mateuslinhares e @pigodinhostaff@idopter.com
    3. 3. staff@idopter.com
    4. 4. http://idopter.comstaff@idopter.com
    5. 5. http://idopter.comstaff@idopter.com
    6. 6. http://idopter.comstaff@idopter.com
    7. 7. http://idopter.comstaff@idopter.com
    8. 8. http://idopter.com http://lancelote.comstaff@idopter.com
    9. 9. Fim do “Merchan”staff@idopter.com
    10. 10. Objetivo da palestra Compartilhar nosso estudos!staff@idopter.com
    11. 11. O que é o JRuby? JAVA + RUBY?staff@idopter.com
    12. 12. “…é uma implementação da linguagem Ruby em Java”staff@idopter.com
    13. 13. “…é uma implementação da linguagem Ruby em Java”staff@idopter.com
    14. 14. História• criado em 2001 por Jan Arne Petersen• Core Team 2008 – Liderados por Charles Nutter• JRuby 1.1 – JIT e AOT compilation (Ruby 1.8.7)• 2009 Core Team vai para Engine Yardstaff@idopter.com
    15. 15. História• 0.9 (2006) – suporte ao Rails• 1.1 (2008) – Melhoria de performance com JIT e AOT• 1.1.4 (2009) – suporte ao Ruby 1.9• 1.2.0 (2009) – compilador JIT para Ruby 1.9 e o projeto Ruboto (suporte para Android)• 1.3.0 (2009) – JRuby no GAE/J• 1.4.0 (2009) – suporte nativo para o Windows• 1.5.0 (2010) – suporte nativo para UNIX-based, libs padrões para o Rake-Ant, RubyGems e RSpec• 1.6.0 (2011) – Ruby 1.9.2staff@idopter.com
    16. 16. boring…staff@idopter.com
    17. 17. JSR-292staff@idopter.com
    18. 18. JSR-292 Invokedynamic (projeto Da Vinci Machine)staff@idopter.com
    19. 19. JSR-292 http://www.infoq.com/br/ articles/invokedynamicstaff@idopter.com
    20. 20. staff@idopter.com
    21. 21. Porque JRuby?staff@idopter.com
    22. 22. Palavras de Charles Nutter http://www.slideshare.net/CharlesN utter/rubyconf-brazil-2010-jrubystaff@idopter.com
    23. 23. Se você… …quer ou precisa rodar na JVM… …JRuby é a resposta!staff@idopter.com
    24. 24. Se você… …precisa usar uma lib java… …JRuby é a resposta!staff@idopter.com
    25. 25. Se você… …quer o melhor GC do mundo… …JRuby é a resposta!staff@idopter.com
    26. 26. Se você… …odeia lidar com libs nativas… …JRuby é a resposta!staff@idopter.com
    27. 27. Se você… …precisa desenvolver ou “deployar” em qualquer OS/plataforma que seja… …JRuby é a resposta!staff@idopter.com
    28. 28. Se você… …quer integrar com outras linguagens como Clojure, Scala, Mirah… …JRuby é a resposta!staff@idopter.com
    29. 29. Se você… …quer um Ruby melhor… …JRuby é a resposta!staff@idopter.com
    30. 30. Se você… …quer um Ruby melhor… …JRuby é a resposta!staff@idopter.com
    31. 31. O melhor dos dois mundos• Java(JVM) oferece – GC eficiente – Green Threadingstaff@idopter.com
    32. 32. O melhor dos dois mundos• Java(JVM) oferece – GC eficiente – Green Threading – Portabilidade – Grande Legadostaff@idopter.com
    33. 33. O melhor dos dois mundos• Ruby oferece – Tipagem dinâmica – Orientação a Objetos – Classes abertas – Metaprogramaçãostaff@idopter.com
    34. 34. Let’s do it!• Instalando JRuby• Hello World• Exemplos• Exemplos• Exemplos• …staff@idopter.com
    35. 35. Instalando o JRubystaff@idopter.com
    36. 36. http://jruby.orgstaff@idopter.com
    37. 37. http://jruby.org/getting-startedstaff@idopter.com
    38. 38. …pra dar sorte! “Hello World”staff@idopter.com
    39. 39. …pra dar sorte! “Hello World”staff@idopter.com
    40. 40. Quais são as possibilidades? Exemplos, Exemplos, Exemplos, …staff@idopter.com
    41. 41. Classes Java no JRuby require ‘java’staff@idopter.com
    42. 42. Java no JRubystaff@idopter.com
    43. 43. Java no JRuby usando classes Javastaff@idopter.com
    44. 44. usando classes JavaImportando a classe Java classe Javastaff@idopter.com
    45. 45. Java : java.lang.System JRuby: Java::JavaLang::Systemstaff@idopter.com
    46. 46. Pacotes Java no JRuby MóduloJavaSocket staff@idopter.com
    47. 47. Pacotes Java no JRubystaff@idopter.com
    48. 48. Referência ao módulostaff@idopter.com
    49. 49. Usando interface javastaff@idopter.com
    50. 50. Usando as classes javastaff@idopter.com
    51. 51. JRuby Socket jruby-lab/examples/socket_examplestaff@idopter.com
    52. 52. MySQL com JRuby usando JDBC jruby-lab/examples/mysql-jdbcstaff@idopter.com
    53. 53. Usando .JARstaff@idopter.com
    54. 54. Java Swing com JRuby jruby-lab/examples/jruby-swingstaff@idopter.com
    55. 55. Rails e JRubystaff@idopter.com
    56. 56. JRuby no Toncat/JBoss/Glassfishstaff@idopter.com
    57. 57. JRuby e JMSstaff@idopter.com
    58. 58. Rspec e Java jruby-lab/examples/testing-java-with- jrubystaff@idopter.com
    59. 59. E o que mais?staff@idopter.com
    60. 60. Projeto Ruboto JRuby is everywhere!staff@idopter.com
    61. 61. Projeto Ruboto =>staff@idopter.com
    62. 62. Projeto Ruboto =>staff@idopter.com
    63. 63. Projeto Rubotostaff@idopter.com
    64. 64. E o que mais?staff@idopter.com
    65. 65. JRuby no Google App Enginestaff@idopter.com
    66. 66. …quer mais?staff@idopter.com
    67. 67. quer mais?staff@idopter.com
    68. 68. Referências e Dicas Jruby-Labstaff@idopter.com
    69. 69. staff@idopter.com
    70. 70. • Exemplos • Referências – Artigos – Wiki – Apresentações – Blog – Twitterstaff@idopter.com
    71. 71. https://github.com/pigor/jruby-labstaff@idopter.com
    72. 72. staff@idopter.com
    73. 73. http://groups.google.com/group/guru-pastaff@idopter.com
    74. 74. Obrigado!!! @mateuslinhares e @pigodinho {mateus, pigor}@idopter.comstaff@idopter.com
    75. 75. JRuby “Explorando um Mundo de Possibilidades” @mateuslinhares e @pigodinhostaff@idopter.com

    ×