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 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
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 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
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 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
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 aprender mais 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 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
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 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
18. Quem já utiliza rails?
06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 18
19. 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
20. 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
21. MVC ?
06/11/12 Gustavo Graña - Por que Ruby on Rails ? - SACOMP XV 21
22. Mas o que tem 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 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
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