Por que Ruby on Rails?
Quem sou eu?
 ●   Cursando o 8º semestre
 ●   Até ontem trabalhei na VOIZA
 ●   Segunda-feira trabalharei para a Conrad Caine
 ●   Tenho uma Start-up em conjunto com outros
     alunos aqui do curso. www.addplus.com.br




06/11/12          Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   2
Como entrar em contato
 ●   Me procurar pelos corredores
 ●   E-mail: gustavo@addplus.com.br
 ●   Twitter: @ggrana ( www.twitter.com/ggrana )




06/11/12          Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   3
VOIZA
 ●   Requisitos
       ●   Formação de Nível Superior ou Segundo Grau Técnico na
           Área de TI EM ANDAMENTO
       ●   Conhecimento de Linguagens de Programação (Java, .Net,
           Ruby ou PHP)
 ●   Atribuições do Cargo
       ●   Desenvolvimento de Aplicações HTML/VBScript, ASP e
           Java.
       ●   Testes Unitários.
       ●   Documentação
 ●   Enviar currículo para rh@voiza.com.br
06/11/12                  Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   4
Objetivo
 ●   Ninguém vai sair daqui um expert em Ruby on
     Rails
 ●   Espero que todos saiam interessados em
     aprender mais
 ●   Tenham alguma referência
 ●   Quem quiser pode me procurar




06/11/12         Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   5
O que vamos precisar?
 ●   Ruby
      ●    http://www.ruby-lang.org/pt/downloads/
 ●   Rails
      ●    gem install rails
 ●   Banco de dados
      ●    Qualquer um!
      ●    http://www.google.com.br/search?q=banco+de+dados



06/11/12                 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   6
Introdução ao ruby
 ●   “Uma linguagem dinâmica, open source com
     foco na simplicidade e na produtividade. Tem
     uma sintaxe elegante de leitura natural e fácil
     escrita.”
 ●   Versões estáveis: 1.9.1 ; 1.8.7 e 1.8.6




06/11/12           Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   7
Um pouco de história do ruby
 ●   Criada
      ●    em 1993 no Japão
      ●    por Yukihiro "Matz" Matsumoto
 ●   O objetivo era criar uma linguagem de script
     poderosa e orientada a objetos




06/11/12               Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   8
Introdução ao ruby
 ●   Características
      ●    Interpretada – IRB
      ●    Puramente orientada a objetods
      ●    Herança única
      ●    Tipagem dinâmica
      ●    Garbage collector
      ●    Threads nativas
      ●    Tratamento de exceções
      ●    Sintaxe elegante
06/11/12               Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   9
Introdução ao ruby
 ●   Biblioteca nativa
      ●    Inteiros infinitos ( Fixnum e Bignum )
      ●    Expressões regulares
      ●    Iteradores
      ●    Arrays
      ●    Hashes
      ●    Blocos de códigos
      ●    Conexão com banco de dados
      ●    Muito mais
06/11/12                Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   10
Onde posso aprender mais sobre ruby ?




06/11/12             Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   11
Mais sobre ruby
 ●   Sites:
      ●    http://www.ruby-lang.org/pt/
 ●   Livros:
      ●    Programming Ruby 1.9 (3rd edition): The Pragmatic
           Programmers' Guide
      ●    The Ruby Programming Language




06/11/12                Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   12
Mas não estamos aqui para falar sobre Ruby e
               sim Ruby on Rails




06/11/12        Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   13
O que é o Rails?
 ●   É um framework de desenvolvimento web
     (gratuito e de código aberto) otimizado para a
     produtividade sustentável e a diversão do
     programador. Ele permite que você escreva
     código de forma elegante, favorecendo a
     convençaõ ao invés da configuração
 ●   Recentemente foi lançado o Rails 3, mas o
     Rails 2.3.8 continua sendo amplamente
     utilizado

06/11/12           Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   14
O que é o Rails?
 ●   Coletânea de frameworks
      ●    Action Model
      ●    Active Record
      ●    Action Pack
           –   Action Controller
           –   Action View
           –   Action Dispatch




06/11/12                   Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   15
O que é Rails
 ●   Coletânea de frameworks
      ●    Active Support
      ●    Action Mailer
      ●    Action Resource
      ●    Railties




06/11/12                   Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   16
Um pouco de história do rails
 ●   Rails foi criado em 2003 por David Heinemeier
     Hansson e desde então foi expandido pelo time
     central do Rails, mais de 1.400 contribuidores e
     suportado por um vibrante ecossistema.
 ●   Foi criado para suprir a necessidade de um
     projeto na 37signals.




06/11/12           Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   17
Quem já utiliza rails?




06/11/12       Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   18
Mas até agora não sabemos, por que utilizar
       Ruby on Rails, o que faz ele tão especial?




06/11/12           Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   19
Por que ruby on rails?
 ●   Tempo de desenvolvimento!
      ●    DRY ( Não se repita )
      ●    Convenções, não configurações
      ●    REST
 ●   http://www.rubyonrails.pro.br/
 ●   Tem todas as vantagens do Ruby!
 ●   MVC


06/11/12               Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   20
MVC ?




06/11/12   Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   21
Mas o que tem de especial o MVC?




06/11/12           Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   22
MVC
 ●   Separa as camadas
 ●   M – Model
 ●   V – View
 ●   C – Controller




06/11/12              Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   23
O objetivo dessa divisão é separar regras de
             negócio e interface de usuário




06/11/12           Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   24
Model
 ●   Representação do banco de dados
      ●    ORM
 ●   Validações
      ●    Campos obrigatórios
      ●    Relacionamentos
 ●   Active Record



06/11/12               Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   25
Model
 ●   Validações
      ●    validates_length_of
      ●    validates_numericality_of
      ●    validates_presence_of
      ●    E várias outras . . .




06/11/12                 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   26
Controller
 ●   Controle de fluxos de negócio
 ●   Lógica
 ●   São a “cola” entre o Model e a View
 ●   Action pack




06/11/12           Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   27
View
 ●   Parte de visualização
 ●   Html
 ●   Erb
 ●   Action pack




06/11/12           Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   28
Agora que já sabemos um pouco de Ruby on
   Rails, que tal desenvolvermos uma aplicação ?




06/11/12         Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   29
Proposta
 ●   Uma aplicação que tenha palestras, e que
     tenha pessoas
 ●   As palestra serão apresentadas por uma
     determinada pessoa
 ●   Listar todas as palestras, criar novas palestras,
     editar as palestras, excluir palestras, visualizar
     a palestra
 ●   Listar as pessoas, criar novas pessoas, editar
     as pessoas, excluir pessoas, visualizar a
     pessoa
06/11/12           Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   30
CRUD Palestra
 ●   Dados:
      ●    Nome da palestra
      ●    Descrição
      ●    Pessoa responsável
      ●    Duração




06/11/12                Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   31
CRUD Pessoa
 ●   Dados
      ●    Nome
      ●    Sobrenome
      ●    Telefone
      ●    RG




06/11/12               Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV   32
1..*
           Palestra


                              Ministrada por
                                                                            1


                                                                       Pessoa




06/11/12              Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV       33

Apresentacao

  • 1.
    Por que Rubyon Rails?
  • 2.
    Quem sou eu? ● Cursando o 8º semestre ● Até ontem trabalhei na VOIZA ● Segunda-feira trabalharei para a Conrad Caine ● Tenho uma Start-up em conjunto com outros alunos aqui do curso. www.addplus.com.br 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 2
  • 3.
    Como entrar emcontato ● Me procurar pelos corredores ● E-mail: gustavo@addplus.com.br ● Twitter: @ggrana ( www.twitter.com/ggrana ) 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 3
  • 4.
    VOIZA ● Requisitos ● Formação de Nível Superior ou Segundo Grau Técnico na Área de TI EM ANDAMENTO ● Conhecimento de Linguagens de Programação (Java, .Net, Ruby ou PHP) ● Atribuições do Cargo ● Desenvolvimento de Aplicações HTML/VBScript, ASP e Java. ● Testes Unitários. ● Documentação ● Enviar currículo para rh@voiza.com.br 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 4
  • 5.
    Objetivo ● Ninguém vai sair daqui um expert em Ruby on Rails ● Espero que todos saiam interessados em aprender mais ● Tenham alguma referência ● Quem quiser pode me procurar 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 5
  • 6.
    O que vamosprecisar? ● Ruby ● http://www.ruby-lang.org/pt/downloads/ ● Rails ● gem install rails ● Banco de dados ● Qualquer um! ● http://www.google.com.br/search?q=banco+de+dados 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 6
  • 7.
    Introdução ao ruby ● “Uma linguagem dinâmica, open source com foco na simplicidade e na produtividade. Tem uma sintaxe elegante de leitura natural e fácil escrita.” ● Versões estáveis: 1.9.1 ; 1.8.7 e 1.8.6 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 7
  • 8.
    Um pouco dehistória do ruby ● Criada ● em 1993 no Japão ● por Yukihiro "Matz" Matsumoto ● O objetivo era criar uma linguagem de script poderosa e orientada a objetos 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 8
  • 9.
    Introdução ao ruby ● Características ● Interpretada – IRB ● Puramente orientada a objetods ● Herança única ● Tipagem dinâmica ● Garbage collector ● Threads nativas ● Tratamento de exceções ● Sintaxe elegante 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 9
  • 10.
    Introdução ao ruby ● Biblioteca nativa ● Inteiros infinitos ( Fixnum e Bignum ) ● Expressões regulares ● Iteradores ● Arrays ● Hashes ● Blocos de códigos ● Conexão com banco de dados ● Muito mais 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 10
  • 11.
    Onde posso aprendermais sobre ruby ? 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 11
  • 12.
    Mais sobre ruby ● Sites: ● http://www.ruby-lang.org/pt/ ● Livros: ● Programming Ruby 1.9 (3rd edition): The Pragmatic Programmers' Guide ● The Ruby Programming Language 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 12
  • 13.
    Mas não estamosaqui para falar sobre Ruby e sim Ruby on Rails 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 13
  • 14.
    O que éo Rails? ● É um framework de desenvolvimento web (gratuito e de código aberto) otimizado para a produtividade sustentável e a diversão do programador. Ele permite que você escreva código de forma elegante, favorecendo a convençaõ ao invés da configuração ● Recentemente foi lançado o Rails 3, mas o Rails 2.3.8 continua sendo amplamente utilizado 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 14
  • 15.
    O que éo Rails? ● Coletânea de frameworks ● Action Model ● Active Record ● Action Pack – Action Controller – Action View – Action Dispatch 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 15
  • 16.
    O que éRails ● Coletânea de frameworks ● Active Support ● Action Mailer ● Action Resource ● Railties 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 16
  • 17.
    Um pouco dehistória do rails ● Rails foi criado em 2003 por David Heinemeier Hansson e desde então foi expandido pelo time central do Rails, mais de 1.400 contribuidores e suportado por um vibrante ecossistema. ● Foi criado para suprir a necessidade de um projeto na 37signals. 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 17
  • 18.
    Quem já utilizarails? 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 18
  • 19.
    Mas até agoranão sabemos, por que utilizar Ruby on Rails, o que faz ele tão especial? 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 19
  • 20.
    Por que rubyon rails? ● Tempo de desenvolvimento! ● DRY ( Não se repita ) ● Convenções, não configurações ● REST ● http://www.rubyonrails.pro.br/ ● Tem todas as vantagens do Ruby! ● MVC 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 20
  • 21.
    MVC ? 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 21
  • 22.
    Mas o quetem de especial o MVC? 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 22
  • 23.
    MVC ● Separa as camadas ● M – Model ● V – View ● C – Controller 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 23
  • 24.
    O objetivo dessadivisão é separar regras de negócio e interface de usuário 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 24
  • 25.
    Model ● Representação do banco de dados ● ORM ● Validações ● Campos obrigatórios ● Relacionamentos ● Active Record 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 25
  • 26.
    Model ● Validações ● validates_length_of ● validates_numericality_of ● validates_presence_of ● E várias outras . . . 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 26
  • 27.
    Controller ● Controle de fluxos de negócio ● Lógica ● São a “cola” entre o Model e a View ● Action pack 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 27
  • 28.
    View ● Parte de visualização ● Html ● Erb ● Action pack 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 28
  • 29.
    Agora que jásabemos um pouco de Ruby on Rails, que tal desenvolvermos uma aplicação ? 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 29
  • 30.
    Proposta ● Uma aplicação que tenha palestras, e que tenha pessoas ● As palestra serão apresentadas por uma determinada pessoa ● Listar todas as palestras, criar novas palestras, editar as palestras, excluir palestras, visualizar a palestra ● Listar as pessoas, criar novas pessoas, editar as pessoas, excluir pessoas, visualizar a pessoa 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 30
  • 31.
    CRUD Palestra ● Dados: ● Nome da palestra ● Descrição ● Pessoa responsável ● Duração 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 31
  • 32.
    CRUD Pessoa ● Dados ● Nome ● Sobrenome ● Telefone ● RG 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 32
  • 33.
    1..* Palestra Ministrada por 1 Pessoa 06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 33