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

Ruby on Rails - Filosofia e Prática