Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Desenvolvimento ágil de software com Ruby on Rails

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

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

  • Be the first to like this

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

×