Programao Web com RubyOnRails
O problema
O problema
Aumentar a produtividade
O problema
Aumentar a produtividade
Falta de bons programadores
Nosso objetivo
Nosso objetivo
Formar desenvolvedores para a FOCO|Virtual
Nosso objetivo
Formar desenvolvedores para a FOCO|Virtual
Formar empreendedores
Como faremos isso ?
Como faremos isso ?
Conhecer o porque das coisas
Como faremos isso ?
Conhecer o porque das coisas
Exemplos prticos
Como faremos isso ?
Conhecer o porque das coisas
Exemplos prticos
Oque fazer depois do curso
Por que usar Ruby ?
Por que usar Ruby ?
Porque gostoso programar com Ruby
Por que usar Ruby ?
Porque gostoso programar com Ruby
simples de ler e entender
Por que usar Ruby ?
Porque gostoso programar com Ruby
simples de ler e entender
Foco no negcio
Por que usar Ruby ?
Porque gostoso programar com Ruby
simples de ler e entender
Foco no negcio
A comunidade
Por que usar Ruby ?
Porque gostoso programar com Ruby
simples de ler e entender
Foco no negcio
A comunidade
O ecossistema
Ento porque poucas empresas usam Ruby ?
Ento porque poucas empresas usam Ruby ?
No existe nenhuma grande empresa mantenedora
Ento porque poucas empresas usam Ruby ?
No existe nenhuma grande empresa mantenedora
Falta de profissionais
Quem mantm o Ruby ento ?
Quem mantm o Ruby ento ?
A comunidade
Oba. O Ruby a linguagem perfeita ento ?
Oba. O Ruby a linguagem perfeita ento ?
O Ruby ainda lento
Como o Ruby surgiu
Como o Ruby surgiu
Concebido em 1993 por Yukihiro Matsumoto "Matz"
Como o Ruby surgiu
Concebido em 1993 por Yukihiro Matsumoto "Matz"
Lanado em 1995 - Verso 0.95
Como o Ruby surgiu
Concebido em 1993 por Yukihiro Matsumoto "Matz"
Lanado em 1995 - Verso 0.95
25/12/1996 Ruby 1.0
Como o Ruby surgiu
Concebido em 1993 por Yukihiro Matsumoto "Matz"
Lanado em 1995 - Verso 0.9525/12/1996 Ruby 1.0
Atualmente - 1.9.1
Caractersticas
Caractersticas
Orientada a objetos
Caractersticas
Orientada a objetos
Interpretada
Caractersticas
Orientada a objetos
Interpretada
Tipagem forte e dinmica
Caractersticas
Orientada a objetos
Interpretada
Tipagem forte e dinmica
Metaprogramao
Implementaes de Ruby
Implementaes de Ruby
MRI - Ruby do Matz
Implementaes de Ruby
MRI - Ruby do Matz
REE - MRI tunado, poupa memria
Implementaes de Ruby
MRI - Ruby do Matz
REE - MRI tunado, poupa memria
JRuby - Usa a JVM e libs Java
Implementaes de Ruby
MRI - Ruby do Matz
REE - MRI tunado, poupa memria
JRuby - Usa a JVM e libs Java
IronRuby - Roda com .NET
Implementaes de Ruby
MRI - Ruby do Matz
REE - MRI tunado, poupa memria
JRuby - Usa a JVM e libs Java
IronRuby - Roda com .NET
Rubinius - Ruby escrito em Ruby
Implementaes de Ruby
MRI - Ruby do Matz
REE - MRI tunado, poupa memria
JRuby - Usa a JVM e libs Java
IronRuby - Roda com .NET
Rubinius - Ruby escrito em Ruby
MagLev - VM do SmallTalk
Implementaes de Ruby
MRI - Ruby do Matz
REE - MRI tunado, poupa memria
JRuby - Usa a JVM e libs Java
IronRuby - Roda com .NET
Rubinius - Ruby escrito em Ruby
MagLev - VM do SmallTalk
MacRuby - Usando Objective-C
Verses do Ruby MRI
Verses do Ruby MRI
1.8.6
Verses do Ruby MRI
1.8.6
1.8.7
Verses do Ruby MRI
1.8.6
1.8.7
1.9.1
Verses do Ruby MRI
1.8.6
1.8.7
1.9.1
1.9.2 RC
Blablablabla, vamos logo ao que interessa
Instalando o Ruby
Instalando o Ruby
No Ubuntu, claro
Instalando o Ruby
No Ubuntu, claro
O Ruby no gosta do Windows
Instalando o Ruby
No Ubuntu, claro
O Ruby no gosta do Windows
Mac j vem com Ruby, ebaaaaaaa
O melhor jeito de instalar
sudo apt-get install curl bison build-essential zlib1g-dev libssl-dev libreadline5-dev libxml2-dev git-core ruby rubygems
Rodando Ruby
Rodando Ruby
irb
Rodando Ruby
irb
ruby
Rodando Ruby
irb
ruby
shebang
Vamos por a mo na massa
Arrays e Hashs
Strings, numbers, symbols
Estruturas de controle - If, While
Blocks Mtodos, classes e objetos
RubyGems
RubyOnRails
RubyOnRails
O que o Rails ?
RubyOnRails
O que o Rails ?
Criado em 2004 por David Heinemeier Hansson
RubyOnRails
O que o Rails ?
Criado em 2004 por David Heinemeier Hansson
Atualmente verso 2.3.8
RubyOnRails
O que o Rails ?
Criado em 2004 por David Heinemeier Hansson
Atualmente verso 2.3.8
Em breve verso 3
Sites que usam Rails
Entendendo o conceito MVC
A filosofia e o design do Rails
A filosofia e o design do Rails
Convention over Configuration (CoC)
A filosofia e o design do Rails
Convention over Configuration (CoC)
Don't Repeat Yourself (DRY)
Componentes do framework
Componentes do framework
Action Controller
Componentes do framework
Action Controller
Action View
Componentes do framework
Action Controller
Action View
Active Record
Componentes do framework
Action Controller
Action View
Active Record
Action Mailer
Componentes do framework
Action Controller
Action View
Active Record
Action Mailer
Active Resource
Componentes do framework
Action Controller
Action View
Active Record
Action Mailer
Active Resource
Railties
Componentes do framework
Action Controller
Action View
Active Record
Action Mailer
Active Resource
Railties
Active Support
REST
78 slides depois... vamos ao que interessa
Para tudo h uma gem
Para tudo h uma gem
Autenticao (Authlogic, Devise)
Upload de arquivos (Paperclip, CarrierWave)
Paginao (WillPaginate)
http://www.ruby-toolbox.com/
GitHub
Colocando o site no ar
Colocando o site no ar
Goodbye FTP... hello Capistrano
Colocando o site no ar
Goodbye FTP... hello Capistrano
Apache e Passenger
Ecossitema Rails
Editores
Hospedagens
A comunidade
Eventos
E agora ???
E agora ???
guides.rubyonrails.orgakitaonrails.com
nomedojogo.com
Apoiadores
Obrigado a todos