jruby - explorando um mundo de possibilidades

75
JRuby “Explorando um Mundo de Possibilidades” Mateus e Paulo Igor staff@idopter. com

Upload: paulo-igor-godinho

Post on 12-Nov-2014

1.280 views

Category:

Technology


2 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: JRuby - Explorando um mundo de possibilidades

JRuby“Explorando um Mundo de Possibilidades”

Mateus e Paulo Igor

[email protected]

Page 2: JRuby - Explorando um mundo de possibilidades

JRuby“Explorando um Mundo de Possibilidades”

@mateuslinharese

@pigodinho

[email protected]

Page 4: JRuby - Explorando um mundo de possibilidades

http://idopter.com

[email protected]

Page 5: JRuby - Explorando um mundo de possibilidades

http://idopter.com

[email protected]

Page 6: JRuby - Explorando um mundo de possibilidades

http://idopter.com

[email protected]

Page 7: JRuby - Explorando um mundo de possibilidades

http://idopter.com

[email protected]

Page 8: JRuby - Explorando um mundo de possibilidades

http://idopter.com http://lancelote.com

[email protected]

Page 9: JRuby - Explorando um mundo de possibilidades

Fim do “Merchan”

[email protected]

Page 10: JRuby - Explorando um mundo de possibilidades

Objetivo da palestra

Compartilhar nosso estudos!

[email protected]

Page 11: JRuby - Explorando um mundo de possibilidades

O que é o JRuby?

JAVA + RUBY?

[email protected]

Page 12: JRuby - Explorando um mundo de possibilidades

“…é uma implementação da linguagem Ruby em Java”

[email protected]

Page 13: JRuby - Explorando um mundo de possibilidades

“…é uma implementação da linguagem Ruby em Java”

[email protected]

Page 14: JRuby - Explorando um mundo de possibilidades

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 Yard

[email protected]

Page 15: JRuby - Explorando um mundo de possibilidades

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

[email protected]

Page 16: JRuby - Explorando um mundo de possibilidades

[email protected]

boring…boring…

Page 17: JRuby - Explorando um mundo de possibilidades

JSR-292

[email protected]

Page 18: JRuby - Explorando um mundo de possibilidades

JSR-292

[email protected]

Invokedynamic(projeto Da Vinci Machine)

Invokedynamic(projeto Da Vinci Machine)

Page 19: JRuby - Explorando um mundo de possibilidades

JSR-292

[email protected]

http://www.infoq.com/br/articles/invokedynamic

http://www.infoq.com/br/articles/invokedynamic

Page 21: JRuby - Explorando um mundo de possibilidades

Porque JRuby?

[email protected]

Page 22: JRuby - Explorando um mundo de possibilidades

Palavras de Charles Nutter

http://www.slideshare.net/CharlesNutter/rubyconf-brazil-2010-

jruby

[email protected]

Page 23: JRuby - Explorando um mundo de possibilidades

Se você…

…quer ou precisa rodar na JVM…

…JRuby é a resposta!

[email protected]

Page 24: JRuby - Explorando um mundo de possibilidades

Se você…

…precisa usar uma lib java…

…JRuby é a resposta!

[email protected]

Page 25: JRuby - Explorando um mundo de possibilidades

Se você…

…quer o melhor GC do mundo…

…JRuby é a resposta!

[email protected]

Page 26: JRuby - Explorando um mundo de possibilidades

Se você…

…odeia lidar com libs nativas…

…JRuby é a resposta!

[email protected]

Page 27: JRuby - Explorando um mundo de possibilidades

Se você…

…precisa desenvolver ou “deployar” em qualquer OS/plataforma que

seja…

…JRuby é a resposta!

[email protected]

Page 28: JRuby - Explorando um mundo de possibilidades

Se você…

…quer integrar com outras linguagens como Clojure, Scala,

Mirah…

…JRuby é a resposta!

[email protected]

Page 29: JRuby - Explorando um mundo de possibilidades

Se você…

…quer um Ruby melhor…

…JRuby é a resposta!

[email protected]

Page 30: JRuby - Explorando um mundo de possibilidades

Se você…

…quer um Ruby melhor…

…JRuby é a resposta!

[email protected]

Page 31: JRuby - Explorando um mundo de possibilidades

O melhor dos dois mundos

• Java(JVM) oferece– GC eficiente– Green Threading

[email protected]

Page 32: JRuby - Explorando um mundo de possibilidades

O melhor dos dois mundos

• Java(JVM) oferece– GC eficiente– Green Threading– Portabilidade– Grande Legado

[email protected]

Page 33: JRuby - Explorando um mundo de possibilidades

O melhor dos dois mundos

• Ruby oferece– Tipagem dinâmica– Orientação a Objetos– Classes abertas– Metaprogramação

[email protected]

Page 34: JRuby - Explorando um mundo de possibilidades

Let’s do it!

• Instalando JRuby• Hello World• Exemplos• Exemplos• Exemplos• …

[email protected]

Page 35: JRuby - Explorando um mundo de possibilidades

Instalando o JRuby

[email protected]

Page 36: JRuby - Explorando um mundo de possibilidades

[email protected]

http://jruby.org

Page 37: JRuby - Explorando um mundo de possibilidades

[email protected]

http://jruby.org/getting-started

Page 38: JRuby - Explorando um mundo de possibilidades

…pra dar sorte!

“Hello World”

[email protected]

Page 39: JRuby - Explorando um mundo de possibilidades

…pra dar sorte!

“Hello World”

[email protected]

Page 40: JRuby - Explorando um mundo de possibilidades

Quais são as possibilidades?

Exemplos, Exemplos, Exemplos, …

[email protected]

Page 41: JRuby - Explorando um mundo de possibilidades

Classes Java no JRuby

require ‘java’

[email protected]

Page 42: JRuby - Explorando um mundo de possibilidades

Java no JRuby

[email protected]

Page 43: JRuby - Explorando um mundo de possibilidades

Java no JRuby

[email protected]

usando classes Java

Page 44: JRuby - Explorando um mundo de possibilidades

[email protected]

usando classes Java

Importando a classe Java classe Java

Page 45: JRuby - Explorando um mundo de possibilidades

Java : java.lang.System

JRuby: Java::JavaLang::System

[email protected]

Page 46: JRuby - Explorando um mundo de possibilidades

Pacotes Java no JRuby

[email protected]

Módulo JavaSocket

Page 47: JRuby - Explorando um mundo de possibilidades

Pacotes Java no JRuby

[email protected]

Page 48: JRuby - Explorando um mundo de possibilidades

[email protected]

Referência ao módulo

Page 49: JRuby - Explorando um mundo de possibilidades

[email protected]

Usando interface java

Page 50: JRuby - Explorando um mundo de possibilidades

[email protected]

Usando as classes java

Page 51: JRuby - Explorando um mundo de possibilidades

JRuby Socket

jruby-lab/examples/socket_example

[email protected]

Page 52: JRuby - Explorando um mundo de possibilidades

MySQL com JRuby usando JDBC

jruby-lab/examples/mysql-jdbc

[email protected]

Page 53: JRuby - Explorando um mundo de possibilidades

[email protected]

Usando .JAR

Page 54: JRuby - Explorando um mundo de possibilidades

Java Swing com JRuby

jruby-lab/examples/jruby-swing

[email protected]

Page 55: JRuby - Explorando um mundo de possibilidades

Rails e JRuby

[email protected]

Page 56: JRuby - Explorando um mundo de possibilidades

JRuby no Toncat/JBoss/Glassfish

[email protected]

Page 57: JRuby - Explorando um mundo de possibilidades

JRuby e JMS

[email protected]

Page 58: JRuby - Explorando um mundo de possibilidades

Rspec e Java

jruby-lab/examples/testing-java-with-jruby

[email protected]

Page 59: JRuby - Explorando um mundo de possibilidades

E o que mais?

[email protected]

Page 60: JRuby - Explorando um mundo de possibilidades

Projeto Ruboto

JRuby is everywhere!

[email protected]

Page 61: JRuby - Explorando um mundo de possibilidades

Projeto Ruboto

[email protected]

=>

Page 62: JRuby - Explorando um mundo de possibilidades

Projeto Ruboto

[email protected]

=>

Page 63: JRuby - Explorando um mundo de possibilidades

Projeto Ruboto

[email protected]

Page 64: JRuby - Explorando um mundo de possibilidades

E o que mais?

[email protected]

Page 65: JRuby - Explorando um mundo de possibilidades

JRuby no Google App Engine

[email protected]

Page 66: JRuby - Explorando um mundo de possibilidades

…quer mais?

[email protected]

Page 67: JRuby - Explorando um mundo de possibilidades

quer mais?

[email protected]

Page 68: JRuby - Explorando um mundo de possibilidades

Referências e Dicas

Jruby-Lab

[email protected]

Page 70: JRuby - Explorando um mundo de possibilidades

[email protected]

• Exemplos• Referências– Artigos– Wiki– Apresentações– Blog– Twitter

Page 71: JRuby - Explorando um mundo de possibilidades

https://github.com/pigor/jruby-lab

[email protected]

Page 73: JRuby - Explorando um mundo de possibilidades

[email protected]

http://groups.google.com/group/guru-pa

Page 74: JRuby - Explorando um mundo de possibilidades

Obrigado!!!

@mateuslinhares e @pigodinho{mateus, pigor}@idopter.com

[email protected]

Page 75: JRuby - Explorando um mundo de possibilidades

JRuby“Explorando um Mundo de Possibilidades”

@mateuslinharese

@pigodinho

[email protected]