SlideShare uma empresa Scribd logo
1 de 93
Ruby on Rails: Filosofia e PráticaRuby on Rails: Filosofia e Prática
LOADING ...LOADING ...
Gabriel Molter
Professor de Informática em Sapiranga
Desenvolvedor de Software
Usuário Gnu/Linux há +/- 4 anos
Sistemas para Internet - FEEVALE
Gabriel Molter
Gnu/Linux
Ruby on Rails
PHP
Java
Gabriel Molter
gabriel.molter@gmail.com
gabrielmolter.wordpress.com
@gabriel_molter
Ruby on Rails
O que é Ruby ?
O que é Rails ?
Ruby on Rails
O que é ?
Linguagem de Programação
O que é ?
Ruby on Rails
O que é ?
Linguagem de Programação
O que é ?
Ruby on Rails
O que é ?
Linguagem de Programação
O que é ?
Framework Ruby para Desenvolvimento Web
Ruby
Ruby
Linguagem de Programação
Dinâmica
Foco em simp licidade, colaboração e
Humanização.
Ruby
Humanização ?
“We are the masters, they are the
slaves”
Yukihiro Matsumoto
Ruby foi feito por pessoas para
pessoas.
Uma linguagem de programação
deve ser simples o suficiente para
você ler e entender, e deixe que o
computador se preocupe com a
parte dele.
Ruby é simples, elegante
e
“menos máquina”
“We are the masters, they are the
slaves”
Yukihiro Matsumoto
“We are the masters, they are the
slaves”
Yukihiro Matsumoto
Yukihiro Matsumoto
Yukihiro Matsumoto
“Matz”
Yukihiro Matsumoto
Japão – 1993
Matz queria uma
linguagem de script
que fosse mais
poderosa do que Perl,
e mais orientada a
objetos do que Python.
Dave Thomas
Texas - 2000
Dave Thomas Lança
o Livro “Programming
Ruby: A Pragmatic
Programmer's Guide”
Com isso o Ruby sai
do japão e se espalha
pelo mundo.
Com o tempo o ruby se espalhou pelo mundo, e
grandes aplicativos foram feitos com ele, entre
eles :
Basecamp
Basecamp
Sistema Web para gerenciamento de Projetos.
Feito em Ruby
basecamphq.com
David Heinemeier Hansson
Chicago – 2004
“DHH” trabalha na
37signal e cria o
Basecamp, usando ruby.
David Heinemeier Hansson
Chicago – 2004
Do Basecamp “DHH”
extrai o framework, mas
somente em dezembro de
2005 ele tem sua versão
1.0
Criando assim
Ruby on Rails
Ruby on Rails
● Active Record
● Action Pack
● ActionMailer
● Active Suport
● Active Resource
●Active Record
O Active Record é uma camada de mapeamento objeto-relacional
●Action Pack
Compreende o Action View (geração de visualização de usuário, como
HTML, XML, JavaScript, entre outros)
●ActionMailer
O Action Mailer é um framework responsável pelo serviço de entrega e
até mesmo de recebimento de e-mails
●Active Suport
várias classes úteis e extensões de bibliotecas padrões
●Active Resource
web services ...
●Active Record
O Active Record é uma camada de mapeamento objeto-relacional
●Action Pack
Compreende o Action View (geração de visualização de usuário, como
HTML, XML, JavaScript, entre outros)
●ActionMailer
O Action Mailer é um framework responsável pelo serviço de entrega e
até mesmo de recebimento de e-mails
●Active Suport
várias classes úteis e extensões de bibliotecas padrões
●Active Resource
web services ...
●Active Record
O Active Record é uma camada de mapeamento objeto-relacional
●Action Pack
Compreende o Action View (geração de visualização de usuário, como
HTML, XML, JavaScript, entre outros)
●ActionMailer
O Action Mailer é um framework responsável pelo serviço de entrega e
até mesmo de recebimento de e-mails
●Active Suport
várias classes úteis e extensões de bibliotecas padrões
●Active Resource
web services ...
●Active Record
O Active Record é uma camada de mapeamento objeto-relacional
●Action Pack
Compreende o Action View (geração de visualização de usuário, como
HTML, XML, JavaScript, entre outros)
●ActionMailer
O Action Mailer é um framework responsável pelo serviço de entrega e
até mesmo de recebimento de e-mails
●Active Suport
várias classes úteis e extensões de bibliotecas padrões
●Active Resource
web services ...
●Active Record
O Active Record é uma camada de mapeamento objeto-relacional
●Action Pack
Compreende o Action View (geração de visualização de usuário, como
HTML, XML, JavaScript, entre outros)
●ActionMailer
O Action Mailer é um framework responsável pelo serviço de entrega e
até mesmo de recebimento de e-mails
●Active Suport
várias classes úteis e extensões de bibliotecas padrões
●Active Resource
web services ...
●Active Record
O Active Record é uma camada de mapeamento objeto-relacional
●Action Pack
Compreende o Action View (geração de visualização de usuário, como
HTML, XML, JavaScript, entre outros)
●ActionMailer
O Action Mailer é um framework responsável pelo serviço de entrega e
até mesmo de recebimento de e-mails
●Active Suport
várias classes úteis e extensões de bibliotecas padrões
●Active Resource
web services ...
●Active Record
O Active Record é uma camada de mapeamento objeto-relacional
●Action Pack
Compreende o Action View (geração de visualização de usuário, como
HTML, XML, JavaScript, entre outros)
●ActionMailer
O Action Mailer é um framework responsável pelo serviço de entrega e
até mesmo de recebimento de e-mails
●Active Suport
várias classes úteis e extensões de bibliotecas padrões
●Active Resource
web services ...
Versões
1.9.2
18 de Agosto de 2010
3.0.1
15 de Agosto de 2010
Ruby não é Só Rails
Rubies
“Tornar as coisas
simples fáceis e as
coisas complexas
Possíveis”
Filosofia Ruby
Rails usa M.V.C.
Você Sabe oque é M.V.C. ?
Model-view-controller (MVC) é um padrão de
arquitetura de software que visa a separar a
lógica de negócio da lógica de apresentação,
permitindo o desenvolvimento, teste e
manutenção isolado de ambos.
Wikipédia
Model-view-controller (MVC) é um padrão de
arquitetura de software que visa a separar a
lógica de negócio da lógica de apresentação,
permitindo o desenvolvimento, teste e
manutenção isolado de ambos.
Model-view-controller (MVC) é um padrão de
arquitetura de software que visa a separar a
lógica de negócio da lógica de apresentação,
permitindo o desenvolvimento, teste e
manutenção isolado de ambos.
Convention
Over
Configuration
Convenção
Ao invés de
Configuração
Convention
Over
Configuration
Convenção
Ao invés de
Configuração
Convention over Configuration
Ande nos Trilhos e tudo fica mais fácil …
Menos código
Menos Tempo
Mais Lucro
Convention over Configuration
Ande nos Trilhos e tudo fica mais fácil …
Menos código
Menos Tempo
Mais Lucro
Convention over Configuration
Ande nos Trilhos e tudo fica mais fácil …
Menos código
Menos Tempo
Mais Lucro
Convention over Configuration
Ande nos Trilhos e tudo fica mais fácil …
Menos código
Menos Tempo
Mais Lucro
Convention over Configuration
“Don’t Repeat Yourself”
Rails foi feito para ser divertido
Extreme Programming
simplicidade, comunicação, feedback e coragem
Restful
URL limpas
Convention over Configuration
“Don’t Repeat Yourself”
Rails foi feito para ser divertido
Extreme Programming
simplicidade, comunicação, feedback e coragem
Restful
URL limpas
Convention over Configuration
“Don’t Repeat Yourself”
Rails foi feito para ser divertido
Extreme Programming
simplicidade, comunicação, feedback e coragem
Restful
URL limpas
Convention over Configuration
“Don’t Repeat Yourself”
Rails foi feito para ser divertido
Extreme Programming
simplicidade, comunicação, feedback e coragem
Restful
URL limpas
Convention over Configuration
“Don’t Repeat Yourself”
Rails foi feito para ser divertido
Extreme Programming
simplicidade, comunicação, feedback e coragem
Restful
URL limpas
Convention over Configuration
“Don’t Repeat Yourself”
Rails foi feito para ser divertido
Extreme Programming
simplicidade, comunicação, feedback e coragem
Restful
URL limpas
Ruby on Rails
Convention over Configuration
“Don’t Repeat Yourself”
Rails foi feito para ser divertido
Extreme Programming
simplicidade, comunicação, feedback e coragem
Restful
URL limpas
Quem usa Isso ?!??
Quem Trabalha com Isso ?
Por onde eu Começo ?
http://www.railscasts.com
http://www.railscasts.com
http://guides.rubyonrails.org/
http://www.railscasts.com
http://guides.rubyonrails.org/
mislav.uniqpath.com/poignant-guide
Se você não sabe Ruby nem sabe programar,
recomendamos a leitura do Aprenda a Programar,
tradução do Learn To Program de Chris Pine.
Este livro aborda de uma maneira interessante
os pontos fundamentais da linguagem, de
maneira didática e leve.
http://aprendaaprogramar.rubyonrails.pro.br/
Comunidade Railer
Rails Rumble
48 H. Para criar uma app.
Premios
● Championship Belt — Thoughtbot
● Linode 4096 (1 year) — Linode
● 15-coupon pack — BDDCasts
● $200 CDN credit — SpeedyRails
● “Launch” plan — Juicer
● Two free screencasts —
Screencasts.org
● $300 coupon — Sticker Mule
● $250 encoding credit — ZenCoder
● “Carrier Pigeon” plan (6 months) —
PostageApp
● “Gold” plan (6 months) — Websolr
● “Big Boy” plan (1 year) — Pusher
● RubyMine IDE license — RubyMine
● Any 3 Apress books — Apress
● “Corp” plan (1 year) — Jaconda
● “Web Gold” plan (1 year) — Prefinery
● Individual plan (3 months) per team
member (max 4) — MogoTest
● Any 2 O’Reilly ebooks — O’Reilly
● “Dynamic” plan (1 year) — Cashboard
● Apple iPad 16G Wi-Fi per team member
(max 4)
● SparkFun POP-BOT Auduino Robotics Kit
per team member (max 4)
●
Chuck Norris Autographed Photo from
“Missing in Action”
Vencedor
Indiana Coders, do @muanis, @cainanunes,
@gcirne e @peleteiro, com BeerCheck.in, um
sistema para compartilhar as cervejas que você
toma por aí
beercheck.in
omecash.r10.railsrumble.com
Essa Palestra está disponível em:
www.slideshare.net/gabriel.molter
Eventos
Grupo de Usuários
GURU – RS
rails - br
Grupo de Usuários
GURU – RS
rails - br
Grupo de Usuários
GURU – RS
rails - br
Gabriel Molter
gabriel.molter@gmail.com
gabrielmolter.wordpress.com
@gabriel_molter
www.slideshare.com/gabriel.molter
Ruby on Rails Filosofia e Prática

Mais conteúdo relacionado

Semelhante a Ruby on Rails Filosofia e Prática

Ruby on Rails e o Mercado
Ruby on Rails e o MercadoRuby on Rails e o Mercado
Ruby on Rails e o MercadoJulio Monteiro
 
Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011Andre Bernardes
 
Mini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLMini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLtarginosilveira
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Douglas Roeder
 
Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edtedbrunoaalves
 
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?David Ruiz
 
Palestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço FilhoPalestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço Filhorafarubert
 
Rails e Rails, introdução e estudo de caso
Rails e Rails, introdução e estudo de casoRails e Rails, introdução e estudo de caso
Rails e Rails, introdução e estudo de casoJohn Carneiro
 
NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.Filipe Morelli
 
Desenvolvimento web ágil e descomplicado usando ruby on rails
Desenvolvimento web ágil e descomplicado usando ruby on railsDesenvolvimento web ágil e descomplicado usando ruby on rails
Desenvolvimento web ágil e descomplicado usando ruby on railsMaurício Linhares
 
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariaisRuby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariaisRodrigo Recio
 
Gerenciando Projetos Com Ruby On Rails
Gerenciando Projetos Com Ruby On RailsGerenciando Projetos Com Ruby On Rails
Gerenciando Projetos Com Ruby On RailsRodrigo Urubatan
 
12 factor app. Melhor com Docker
12 factor app. Melhor com Docker12 factor app. Melhor com Docker
12 factor app. Melhor com DockerWellington Silva
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicRicardo Guerra Freitas
 

Semelhante a Ruby on Rails Filosofia e Prática (20)

Ruby on Rails e o Mercado
Ruby on Rails e o MercadoRuby on Rails e o Mercado
Ruby on Rails e o Mercado
 
Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011
 
Ruby and Rails
Ruby and RailsRuby and Rails
Ruby and Rails
 
Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Mini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLMini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOL
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01
 
Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edted
 
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
 
Palestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço FilhoPalestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço Filho
 
Rails e Rails, introdução e estudo de caso
Rails e Rails, introdução e estudo de casoRails e Rails, introdução e estudo de caso
Rails e Rails, introdução e estudo de caso
 
Rails 03
Rails 03Rails 03
Rails 03
 
NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.
 
Desenvolvimento web ágil e descomplicado usando ruby on rails
Desenvolvimento web ágil e descomplicado usando ruby on railsDesenvolvimento web ágil e descomplicado usando ruby on rails
Desenvolvimento web ágil e descomplicado usando ruby on rails
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariaisRuby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
 
Gerenciando Projetos Com Ruby On Rails
Gerenciando Projetos Com Ruby On RailsGerenciando Projetos Com Ruby On Rails
Gerenciando Projetos Com Ruby On Rails
 
12 factor app. Melhor com Docker
12 factor app. Melhor com Docker12 factor app. Melhor com Docker
12 factor app. Melhor com Docker
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual Basic
 
Conhecendo o Ruby on Rails
Conhecendo o Ruby on RailsConhecendo o Ruby on Rails
Conhecendo o Ruby on Rails
 

Ruby on Rails Filosofia e Prática