Café com Java             11/02/2012Desenvolvimento ágil de software com     Ruby on Rails          Lucas Catón
Quem sou eu?    Lucas Catón    Bacharel em Sistemas de Informação    Desenvolvedor Ruby on Rails há 3 anoshttp://blog.luca...
Antes que me atirem pedras...
Eu já fui programador Java...
Até que eu descobri o Ruby...
Mas eu não vim aqui dizer que:       Ruby > Java!
Só vim dizer que Ruby......me fez um dev mais feliz!
Ruby on RailsLinguagem de programação   Framework web
O que o Ruby tem de tão especial?
InterpretadaNão é necessário compilar o código!DinâmicaEm tempo de execução, é possível: Adicionar novo código,extender cl...
E mais importante que isso tudo...    Não precisa de “ponto e vírgula”!
Sintaxe expressíva      Diga muito!      Seja claro! Escreva menos código!
Exemplo:    Imprimir somente paresentre 1 e um número qualquer.
C
#include <stdio.h>void imprime_pares(int limite){  int i;  for(i = 1; i < = limite; i++)    if(i%2 == 0)      printf("%dn"...
Java
public void imprime_pares(int limite){  for(int i = 1; i <= limite; i++)    if(i%2 == 0)      System.out.println(i);}
Ruby
def imprime_pares(limite)  1.upto(limite) {|i| puts i if i%2 == 0}end
Tudo é um objeto!1.class                   => Fixnum1.5.class                 => Float0.zero?                   => true1.z...
true e false também são objetos!true.class    => TrueClassfalse.class   => FalseClass
Até o nil é um objeto!nil.class   => NilClassa = nila.nil?      =>   truea.methods   =>   lista de métodosa.to_s      =>  ...
Metaprogramação
class FooendFoo.class_eval do  define_method("novo_metodo") do |arg|      puts arg  endendf = Foo.newf.novo_metodo("123")#...
O que o Rails tem de tão especial?
MVCModel - View - Controller
Ajuda a aplicar a filosofia DRY:“Don’t repear yourself”
REST  pattern for web apps    Verbos HTTP:GET, POST, PUT, DELETE
Convention over configuration(Convenção ao invés de configuração)
Antes...Projeto (10%)        Código (90%)0     25        50      75      100
Depois...Projeto (40%)        Código (60%)0     25        50      75      100
Rails == desenvolvimento ágil
3 ambientes: development  production     test
Já vem pronto!Rails é um metaframework.
Action Pack                      Active ResourceControllers & Views                      RESTful web services Action Maile...
Documentação MUITO boa!
Conclusão:A linguagem é divertida!O Ruby on Rails já vem pronto pra uso!Roda em qualquer plataforma!A comunidade é forte!O...
Ou seja...
Links interessantes:Ruby a partir de Javahttp://www.ruby-lang.org/pt/documentacao/ruby-a-partir-de-outras-linguagens/para-...
Dúvidas?
Obrigado!http://blog.lucascaton.com.br        @lucascaton
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on Rails
Próximos SlideShares
Carregando em…5
×

Desenvolvimento ágil de software com Ruby on Rails

2.120 visualizações

Publicada em

Palestra "Desenvolvimento ágil de software com Ruby on Rails", no Café com Java (11/02/2012), na Caelum, São Paulo-SP.

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
2.120
No SlideShare
0
A partir de incorporações
0
Número de incorporações
951
Ações
Compartilhamentos
0
Downloads
19
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Desenvolvimento ágil de software com Ruby on Rails

  1. 1. Café com Java 11/02/2012Desenvolvimento ágil de software com Ruby on Rails Lucas Catón
  2. 2. Quem sou eu? Lucas Catón Bacharel em Sistemas de Informação Desenvolvedor Ruby on Rails há 3 anoshttp://blog.lucascaton.com.br @lucascaton
  3. 3. Antes que me atirem pedras...
  4. 4. Eu já fui programador Java...
  5. 5. Até que eu descobri o Ruby...
  6. 6. Mas eu não vim aqui dizer que: Ruby > Java!
  7. 7. Só vim dizer que Ruby......me fez um dev mais feliz!
  8. 8. Ruby on RailsLinguagem de programação Framework web
  9. 9. O que o Ruby tem de tão especial?
  10. 10. InterpretadaNão é necessário compilar o código!DinâmicaEm tempo de execução, é possível: Adicionar novo código,extender classes, extender objetos, alterar o sistema de tipos.Multi-paradigmaOrientada a objetos, funcional, permite programação imperativa.Open-sourceVocê pode: olhar o código, estudar o código, alterar o código eainda melhorar o código.
  11. 11. E mais importante que isso tudo... Não precisa de “ponto e vírgula”!
  12. 12. Sintaxe expressíva Diga muito! Seja claro! Escreva menos código!
  13. 13. Exemplo: Imprimir somente paresentre 1 e um número qualquer.
  14. 14. C
  15. 15. #include <stdio.h>void imprime_pares(int limite){ int i; for(i = 1; i < = limite; i++) if(i%2 == 0) printf("%dn", i);}
  16. 16. Java
  17. 17. public void imprime_pares(int limite){ for(int i = 1; i <= limite; i++) if(i%2 == 0) System.out.println(i);}
  18. 18. Ruby
  19. 19. def imprime_pares(limite) 1.upto(limite) {|i| puts i if i%2 == 0}end
  20. 20. Tudo é um objeto!1.class => Fixnum1.5.class => Float0.zero? => true1.zero? => false[1,2,3].class => Array[4,8].respond_to? :sort => true1.methods => lista de métodos5.+(1) => 6
  21. 21. true e false também são objetos!true.class => TrueClassfalse.class => FalseClass
  22. 22. Até o nil é um objeto!nil.class => NilClassa = nila.nil? => truea.methods => lista de métodosa.to_s => ""a.to_i => 0a.sort => NoMethodError: undefined method `sort for nil:NilClass
  23. 23. Metaprogramação
  24. 24. class FooendFoo.class_eval do define_method("novo_metodo") do |arg| puts arg endendf = Foo.newf.novo_metodo("123")# 123
  25. 25. O que o Rails tem de tão especial?
  26. 26. MVCModel - View - Controller
  27. 27. Ajuda a aplicar a filosofia DRY:“Don’t repear yourself”
  28. 28. REST pattern for web apps Verbos HTTP:GET, POST, PUT, DELETE
  29. 29. Convention over configuration(Convenção ao invés de configuração)
  30. 30. Antes...Projeto (10%) Código (90%)0 25 50 75 100
  31. 31. Depois...Projeto (40%) Código (60%)0 25 50 75 100
  32. 32. Rails == desenvolvimento ágil
  33. 33. 3 ambientes: development production test
  34. 34. Já vem pronto!Rails é um metaframework.
  35. 35. Action Pack Active ResourceControllers & Views RESTful web services Action Mailer Active Support E-mail services Utility classes Active Model Railties+ Active Record Core Rails code ORM
  36. 36. Documentação MUITO boa!
  37. 37. Conclusão:A linguagem é divertida!O Ruby on Rails já vem pronto pra uso!Roda em qualquer plataforma!A comunidade é forte!O mercado está quente!
  38. 38. Ou seja...
  39. 39. Links interessantes:Ruby a partir de Javahttp://www.ruby-lang.org/pt/documentacao/ruby-a-partir-de-outras-linguagens/para-ruby-a-partir-de-java/Guru-SPhttps://groups.google.com/group/ruby-spRuby Brasilhttp://ruby-br.org/Ruby Insidehttp://www.rubyinside.com/
  40. 40. Dúvidas?
  41. 41. Obrigado!http://blog.lucascaton.com.br @lucascaton

×