Palestra ror edted

900 views

Published on

Palestra sobre Ruby On Rails ministrada em 07/08/2010 no 15o EDTED que aconteceu em Belo Horizonte

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Palestra ror edted

  1. 1. Ruby on rails EDTED 2010 Bruno Andrade Alves bruno@dito.com.br
  2. 2. Apresentação • Bacharel em ciência da computação na PUCMINAS • Sócio-fundador da Dito Internet • Empresa fundada há 3 anos sendo todos os seus projetos desenvolvidos em ruby on rails • Professor da Pós-Graduação “Desenvolvimento de Sistemas para web”
  3. 3. Cases • 1 milhão de visitantes únicos e 22 milhões de pageviews por mês • 800.000 usuários cadastrados • Mais de 8 milhões de apostas realizadas
  4. 4. Cases • Mais de 940.000 usuários cadastrados em menos de 3 meses • Elevado número de requisições simultâneas
  5. 5. Ruby • Linguagem de programação lançada ao público em 1995. • Popularizou-se em 2006, depois do surgimento do Ruby on Rails. • Ruby é totalmente gratuita. Para usar, copiar, modificar e distribuir
  6. 6. Ruby • Foco na simplicidade e produtividade • Influências: Perl, Smalltalk, Eiffel, Ada e Lisp • Não necessita compilação • Orientada a objetos, tudo é um objeto • Flexibilidade
  7. 7. Ruby foi feito para deixar os programadores felizes!
  8. 8. O início
  9. 9. Porque não reaproveitar o código?
  10. 10. Porque compartilhar? “Por razões puramente egoístas” DHH
  11. 11. Porque compartilhar? • Deixar que os outros façam o trabalho • Ganhar reputação por ser um doador
  12. 12. O que é o Rails? “Um monte de coisas que fazem os desenvolvedores web felizes” David Heinemeier Hansson
  13. 13. O que é o Rails? “Um monte de coisas que fazem os desenvolvedores web felizes” David Heinemeier Hansson
  14. 14. O que é o Rails? Um framework para desenvolvimento web
  15. 15. Rails • “Tornar o desenvolvimento web mais rápido, simples e mais eficiente.” • Lançado em julho de 2004. • Extraída da ferramenta para gestão de projetos Basecamp.
  16. 16. Aprendendo Rails
  17. 17. Java X Rails Scaffold
  18. 18. Propostas do Rails
  19. 19. Don’t Repeat Yourself (DRY)
  20. 20. “As pessoas preferem muito mais escolhas do que terem que escolher” David Heinemeier Hansson, RailsConf’08
  21. 21. Convention over Configuration • Usamos convenções para facilitar o entendimento e manutenção • Rails sugere assumir valores padrão onde existe uma convenção. • Se o desenvolvedor quiser, pode-se sobrescrever essa convenção com o valor
  22. 22. Model-View-Controller (MVC)
  23. 23. Model-View-Controller (MVC) • Model: Contém as regras de negócio e faz o controle da persistência dos dados • View: Responsável por gerar a interface com o usuário • Controller: Recebem eventos do mundo externo, interagem com o model e disponibilizam a view correta para o usuário
  24. 24. Model-View-Controller (MVC)
  25. 25. ActiveRecord • Camada de mapeamento objeto-relacional, responsável pela tradução do banco de dados relacional em objetos. Ex: Cliente.find_by_nome(“Bruno”) SELECT * FROM “clientes” WHERE (“clientes”.“nome” = ‘Bruno’) LIMIT 1
  26. 26. Migrations • Modo conveniente para alterar a base de dados de um modo estruturado e organizado • Mantém o controle das alterações feitas • Todos os desenvolvedores possuem a mesma estrutra da base
  27. 27. Scaffold Gerador de código Create Read Update Delete (CRUD)
  28. 28. Scaffold Gerador de código Create Read Update Delete (CRUD)
  29. 29. Console Interação direta com a aplicação para experimentos e testes
  30. 30. Test Driven Development (TDD) • Desenvolvimento orientado a testes • Teste antes do código
  31. 31. Behaviour driven development (BDD) • Implementa os testes unitários considerando um comportamento Ex.: Describe Teacher do It “should have a good knowledge” (...) end
  32. 32. Testes • Rails já possui uma estrutura para o desenvolvimento de testes automatizados (TDD). • O Rspec é um framework para o BDD
  33. 33. Partes comuns dos sistemas • Autenticação • Paginação • TagCloud
  34. 34. Plugins • Fácil extensão do código • Agilidade • Melhoramento contínuo
  35. 35. Deploy • Capistrano é utilizado para automatizar o deploy • Executa todas as etapas do deploy
  36. 36. Cases
  37. 37. Quer começar?
  38. 38. rubyonrails.org
  39. 39. railscasts.com
  40. 40. Dúvidas?
  41. 41. Obrigado! Bruno Andrade bruno@dito.com.br http://www.dito.com.br

×