Desenvolvimento ágil de software com Ruby on Rails

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

×