Ruby on Rails: Porque utilizar?
    Júlio Santos Monteiro <julio@monteiro.eti.br>
                15 de fevereiro de 2008
O que ganho ao utilizar
   Ruby on Rails?
desenvolvimento
ágil   {   manutenção
Como ganho esta agilidade?
Ruby on Rails
Ruby on Rails
Ruby on Rails
  {

                  {
linguagem de    framework de
programação    desenvolvimento
{            on


                       {
linguagem de         framework de
programação         desenvolvimento
• Tecnologia japonesa
• Lançada em 1995
• O “Python” oriental
• Ênfase na simplicidade
  e na elegância
• Código aberto,
 ...
Características Técnicas
• Orientado a objeto
• Tudo é um objeto (diferente de Java, Python e
  Perl)
• Herança única, com...
Influências por linguagem

•   Linguagem prática (Perl)
•   Orientação a objetos (Smalltalk)
•   Metaprogramação (Smalltal...
Dica para pergunta inicial:
Ruby é simples, elegante
  e “menos máquina”
9º lugar
    no ranking TPCI
TIOBE Programming Community Index
15,6%
dos programadores brasileiros já sabem Ruby
          Fonte: Evans Data, INFO Exame 08/2007
33%
dos programadores brasileiros esperam
      aprender até final de 2008
       Fonte: Evans Data, INFO Exame 08/2007
Framework para
aplicações web
Template para
aplicações web
• Extração do Basecamp, da 37signals



•   Desenvolvido para o mundo real
•   Completo, eficiente, extensível
•   Código ...
Sinceramente, não é um framework.
      É um metaframework.
ActiveRecord
  ActionPack
  ActionMailer
 ActiveSupport
ActiveResource
“Já vem pronto”
Arma secreta do Rails:
Convention
    over
Configuration
Você usa o que o Rails sugere...
Você usa o que o Rails sugere...
 e, em troca, você não precisa
       configurar nada.
Tradução de Convention over Configuration:


convenção ao invés de
    configuração
Tradução de Convention over Configuration
        para desenvolvedores:


        menos código
Tradução de Convention over Configuration
             para clientes:


        menos tempo
Tradução de Convention over Configuration
           para vendedores:


          maior lucro
Como Convention over
Configuration me traz vantagem?
Exemplo rápido
• No desenho do projeto:
  – Um “Cliente” tem vários “Carros”
    a client has many cars
Exemplo rápido
• No desenho do projeto:
  – Um “Cliente” tem vários “Carros”
    a client has many cars


• Na programação...
+
+
            Metaprogramação          Convention over Configuration
Geração de código em Runtime         MVC + Helpers
  ...
+
+
           desenvolvimento
ágil   {   manutenção
Quem já está nos trilhos do
    Ruby on Rails?
Peixes Grandes
• Implementação do Ruby em cima do Java
• Possibilidade de executar código Ruby na
  máquina virtual do Java
• Compilação ...
• Suporte a Java (claro), C/C++ e Ruby!
• Investimento pesado no desenvolvimento da
  IDE
• O mais completo “code completi...
Microsoft IronRuby
Microsoft IronRuby




• Código Ruby em cima do framework .NET
• Atualmente em desenvolvimento (pre-alpha)
Ruby e Ruby on Rails inclusos no
      Mac OS X Leopard
National Museum of African American
         History and Culture
Jeff Bezos, fundador da Amazon
Peixes pequenos
• Sistema de microblogging
• Aplicação 100% em Ruby on Rails
• Diversas APIs, integração com SMS,
  mensagem instantânea (...
• Integração de blogs brasileiros.
• Sistema também 100% Ruby on Rails
• Desenvolvimento em 4 dias
• Palestras, reuniões, aulas e eventos online
• Streaming de webcam, voz e desktop sharing
• Ruby on Rails + Flex + Flash ...
Nos Estados Unidos:
Média do salário de programador Ruby on Rails
Nos Estados Unidos:
Média do salário de programador Ruby on Rails


         US$ 5.000,00
Nos Estados Unidos:
Média do salário de programador Ruby on Rails
          Lead + Software Engineer


        US$ 30.000,00
No Reino Unido:
Média do salário de programador Ruby on Rails


            £ 3.000,00
No Reino Unido:
280 vagas em aberto
Desenvolvedores Rails pelo mundo
1. EUA, com 2100
1. EUA, com 2100
2. Reino Unido, com 401
1. EUA, com 2100
2. Reino Unido, com 401
   3. Brasil, com 333
1. EUA, com 2100
2. Reino Unido, com 401
   3. Brasil, com 333
           ...
      Total: 9373
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
Próximos SlideShares
Carregando em…5
×

Ruby On Rails - Porque Utilizar?

6.106 visualizações

Publicada em

Palestra sobre Ruby on Rails ministrada por Júlio Monteiro na Campus Party Brasil.

Publicada em: Tecnologia
0 comentários
17 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

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

Nenhuma nota no slide

Ruby On Rails - Porque Utilizar?

  1. 1. Ruby on Rails: Porque utilizar? Júlio Santos Monteiro <julio@monteiro.eti.br> 15 de fevereiro de 2008
  2. 2. O que ganho ao utilizar Ruby on Rails?
  3. 3. desenvolvimento ágil { manutenção
  4. 4. Como ganho esta agilidade?
  5. 5. Ruby on Rails
  6. 6. Ruby on Rails
  7. 7. Ruby on Rails { { linguagem de framework de programação desenvolvimento
  8. 8. { on { linguagem de framework de programação desenvolvimento
  9. 9. • Tecnologia japonesa • Lançada em 1995 • O “Python” oriental • Ênfase na simplicidade e na elegância • Código aberto, gratuito e sem restrições Arquiteto do Ruby, Yukihiro “Matz” Matsumoto
  10. 10. Características Técnicas • Orientado a objeto • Tudo é um objeto (diferente de Java, Python e Perl) • Herança única, com extensão por módulos • Possibilidade de adicionar programação em runtime • Traços de orientação a aspectos
  11. 11. Influências por linguagem • Linguagem prática (Perl) • Orientação a objetos (Smalltalk) • Metaprogramação (Smalltalk) • Sintaxe (Smalltalk, Eiffel e Ada) • Tratamento de exceções (Java e Python)
  12. 12. Dica para pergunta inicial: Ruby é simples, elegante e “menos máquina”
  13. 13. 9º lugar no ranking TPCI TIOBE Programming Community Index
  14. 14. 15,6% dos programadores brasileiros já sabem Ruby Fonte: Evans Data, INFO Exame 08/2007
  15. 15. 33% dos programadores brasileiros esperam aprender até final de 2008 Fonte: Evans Data, INFO Exame 08/2007
  16. 16. Framework para aplicações web
  17. 17. Template para aplicações web
  18. 18. • Extração do Basecamp, da 37signals • Desenvolvido para o mundo real • Completo, eficiente, extensível • Código aberto, gratuito e sem restrições • MVC + Helpers
  19. 19. Sinceramente, não é um framework. É um metaframework.
  20. 20. ActiveRecord ActionPack ActionMailer ActiveSupport ActiveResource
  21. 21. “Já vem pronto”
  22. 22. Arma secreta do Rails:
  23. 23. Convention over Configuration
  24. 24. Você usa o que o Rails sugere...
  25. 25. Você usa o que o Rails sugere... e, em troca, você não precisa configurar nada.
  26. 26. Tradução de Convention over Configuration: convenção ao invés de configuração
  27. 27. Tradução de Convention over Configuration para desenvolvedores: menos código
  28. 28. Tradução de Convention over Configuration para clientes: menos tempo
  29. 29. Tradução de Convention over Configuration para vendedores: maior lucro
  30. 30. Como Convention over Configuration me traz vantagem?
  31. 31. Exemplo rápido • No desenho do projeto: – Um “Cliente” tem vários “Carros” a client has many cars
  32. 32. Exemplo rápido • No desenho do projeto: – Um “Cliente” tem vários “Carros” a client has many cars • Na programação do Rails: class Client has_many :cars (...)
  33. 33. +
  34. 34. + Metaprogramação Convention over Configuration Geração de código em Runtime MVC + Helpers Simplicidade Focado no mundo real Elegância Extendability ... ...
  35. 35. +
  36. 36. + desenvolvimento ágil { manutenção
  37. 37. Quem já está nos trilhos do Ruby on Rails?
  38. 38. Peixes Grandes
  39. 39. • Implementação do Ruby em cima do Java • Possibilidade de executar código Ruby na máquina virtual do Java • Compilação de código Ruby para .class (bytecode Java) • Já estável e em utilização
  40. 40. • Suporte a Java (claro), C/C++ e Ruby! • Investimento pesado no desenvolvimento da IDE • O mais completo “code completion” entre todas as IDEs
  41. 41. Microsoft IronRuby
  42. 42. Microsoft IronRuby • Código Ruby em cima do framework .NET • Atualmente em desenvolvimento (pre-alpha)
  43. 43. Ruby e Ruby on Rails inclusos no Mac OS X Leopard
  44. 44. National Museum of African American History and Culture
  45. 45. Jeff Bezos, fundador da Amazon
  46. 46. Peixes pequenos
  47. 47. • Sistema de microblogging • Aplicação 100% em Ruby on Rails • Diversas APIs, integração com SMS, mensagem instantânea (GTalk), etc... • 11.000 hits per second
  48. 48. • Integração de blogs brasileiros. • Sistema também 100% Ruby on Rails • Desenvolvimento em 4 dias
  49. 49. • Palestras, reuniões, aulas e eventos online • Streaming de webcam, voz e desktop sharing • Ruby on Rails + Flex + Flash Media Server
  50. 50. Nos Estados Unidos: Média do salário de programador Ruby on Rails
  51. 51. Nos Estados Unidos: Média do salário de programador Ruby on Rails US$ 5.000,00
  52. 52. Nos Estados Unidos: Média do salário de programador Ruby on Rails Lead + Software Engineer US$ 30.000,00
  53. 53. No Reino Unido: Média do salário de programador Ruby on Rails £ 3.000,00
  54. 54. No Reino Unido: 280 vagas em aberto
  55. 55. Desenvolvedores Rails pelo mundo
  56. 56. 1. EUA, com 2100
  57. 57. 1. EUA, com 2100 2. Reino Unido, com 401
  58. 58. 1. EUA, com 2100 2. Reino Unido, com 401 3. Brasil, com 333
  59. 59. 1. EUA, com 2100 2. Reino Unido, com 401 3. Brasil, com 333 ... Total: 9373

×