JRuby - Explorando um mundo de possibilidades
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

JRuby - Explorando um mundo de possibilidades

on

  • 1,265 views

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 ...

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.

Statistics

Views

Total Views
1,265
Views on SlideShare
1,248
Embed Views
17

Actions

Likes
1
Downloads
6
Comments
0

5 Embeds 17

http://palestrascoletivas.com 11
http://www.linkedin.com 3
http://www.hanrss.com 1
http://palestrascoletivas.com.br 1
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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 Presentation Transcript

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