SlideShare uma empresa Scribd logo
Ruby
Grupo
Alan Cardoso
Marcelo Alexandre
Marcelo Oliveira
Nathan Novelli
Wagner Siqueira
Criador
Yukihiro “Matz” Matsumoto
Características
• Interpretada
Características
Linguagem interpretada
Interactive Ruby (irb)
Características
• Interpretada
• Dinâmica
Características
class Professor
def ensina(aluno)
def aluno.escreve
“Sei escrever!"
end
end
end
juca = Aluno.new
juca.respond_to? :escreve
# => false
professor = Professor.new
professor.ensina juca
juca.escreve
# => “Sei escreve!”
Linguagem dinâmica
Metaprogramação
class Aluno
# Não sabe nada
end
Características
• Interpretada
• Dinâmica
• Tipagem dinâmica
Características
Tipagem dinâmica
a.type
# => <NameError: undefined local variable
or method ‘a’ for main:Object>
a.type
# => Fixnum
a = “Olá, mundo!”
# => Olá, mundo
a.type
# => String
a = 1
# => 1
Duck typing
Características
• Interpretada
• Dinâmica
• Tipagem dinâmica
• Tipagem forte
Características
Tipagem forte
x = “Olá, ”
# => Olá,
y = “Mundo!”
# => Mundo!
x + y
# => Olá, Mundo!
y = 1
# => 1
x + y
# => TypeError: no implicit conversion of
Fixnum into String
Características
• Interpretada
• Dinâmica
• Tipagem dinâmica
• Tipagem forte
• Orientada a objetos
Características
Orientação a objetos
class Pessoa
attr_acessor :nome, :idade
def initialize(nome, idade)
@nome = nome
@idade = idade
end
end
class Aluno < Pessoa
attr_acessor :cgu
def estudar
# estudar
end
end
p = Pessoa.new(“João”, 18)
a = Aluno.new
a.estudar
Características
Orientação a objetos
10.class
# => Fixnum
10.class.superclass
# => Integer
10.class.superclass.superclass
# => Numeric
10.class.superclass.superclass.superclass
# => Object
Em Ruby tudo é objeto!
Comunidade
Gems
Mais de 57 mil gems!
RubyGems
Documentação
RDoc
ruby-doc.org
Utilização
• Administração de sistemas
Utilização
Administração de sistemas
Utilização
• Administração de sistemas
• Desenvolvimento desktop
Utilização
• APIs gráficas (GTK+, Shoes, etc.)
• IronRuby + .NET
• IronRuby + Mono
• Jruby + Java VM
Desenvolvimento desktop
Utilização
• Administração de sistemas
• Desenvolvimento desktop
• Desenvolvimento mobile
Utilização
• mruby + MobiRuby (iOS)
• RubyMotion (iOS)
• Rhodes (iOS, Android, Windows
Phone, Symbian e Blackberry)
Desenvolvimento mobile
Utilização
• Administração de sistemas
• Desenvolvimento desktop
• Desenvolvimento mobile
• Desenvolvimento web
Utilização
Desenvolvimento web
Ruby on Rails
Criador
David Heinemeier Hansson
Ruby on Rails
Basecamp
Ruby on Rails
MVC (model-view-controller)
Controller Model
View
DB
Ruby on Rails
Conceitos básicos
rails new <nomedoprojeto>
rails generate model <nome>
rails generate view <nome>
rails generate controller <nome>
rails generate migration <nome>
Ruby on Rails
Cases
GitHub
Ruby on Rails
Cases
Hulu
Ruby on Rails
Cases
Scribd
Ruby on Rails
Cases
SlideShare
Ruby on Rails
Cases
Groupon
Ruby on Rails
Cases
Ruby on Rails
Cases
StartupDEV
Ruby on Rails
Show me the code!
Em apenas 10 passos !
Criando uma Aplicação
Exemplo
Ruby on Rails
Requisitos:
• Ruby
• Gem Rails
• Banco de dados (Qualquer tipo)
Ruby on Rails
Passo 1 Criando seu Aplicativo
rails new blog
Gera estrutura de arquivos e diretórios do Rails
Tempo aproximado: 15 segundos
Gemfile README.rdoc app config.ru doc
log script tmp
Gemfile.lock Rakefile config db lib
public test vendor
Ruby on Rails
Passo 2 Configurando as Gems
No arquivo Gemfile
Insira o seguinte código
Tempo aproximado: 30 segundos
gem "mysql2" #Gem do Banco de Dados
gem "twitter-bootstrap-rails" #Gem do Twitter Bootstrap
gem "less-rails" #Gem necessária para o Bootstrap
gem "therubyracer" #Gem necessária para o Bootstrap
Ruby on Rails
Passo 3 Configurando acesso ao Banco de Dados
Em config/database.yml
Tempo aproximado: 30 segundos
development:
adapter: mysql2 #Banco de dados, requer Gem instalado
encoding: utf8
reconnect: false
database: blog_development
pool: 5
username: root
password:
socket: /tmp/mysql.sock
Ruby on Rails
Passo 4 Instalação das Gems
Instalação e atualização de todas as Gems do Gemfile
Tempo aproximado: 20 segundos
bundle install
Ruby on Rails
Passo 5 Instalação do Bootstrap
Tempo aproximado: 20 segundos
Instalação do Twitter Bootstrap na sua aplicação
rails g bootstrap:install
Ruby on Rails
Passo 6 Criando um modelo com Scaffold Generator
Exemplo de Modelo para Blog - seria um Post
Tempo aproximado: 30 segundos
rails g scaffold Post title:string content:text
--skip-stylesheets
Exemplo de Modelo para Loja - seria um Produto
rails g scaffold Product name:string
price:decimal description:text
--skip-stylesheets
Ruby on Rails
Passo 7 Criando o Tabelas no Banco de Dados
Para criar o Banco de Dados definido em database.yml
Tempo aproximado: 30 segundos
rake db:create
Para criar as tabelas do Modelo Post que gerou
rake db:migrate
Ruby on Rails
Passo 8 Executando servidor em Localhost
O servidor padrão do Rails é o WEBrick
Tempo aproximado: 25 segundos
Ele é uma Gem padrão que já está instalada, o bundle install o instalou.
Para executar o servidor local basta o comando:
rails s
ou se preferir
rails server
Ruby on Rails
Passo 9 Aplicando Layout Bootstrap ao Modelo
Com um comando o Bootstrap e o Rails geram o estilo
Bootstrap para seu Modelo.
Tempo aproximado: 20 segundos
rails g bootstrap:themed posts -f
Caso tivessemos feito o modelo Products:
rails g bootstrap:themed products -f
Ruby on Rails
Passo 10 Aplicando um Layout Bootstrap ao Aplicativo
Assim como no Modelo o Bootstrap e o Rails geram o
Layout para você em um único comando:
Tempo aproximado: 20 segundos
rails g bootstrap:layout application fluid
Ou se preferir outro estilo:
rails g bootstrap:layout application fixed
Ruby on Rails
1 - Criamos a aplicação (rails new blog)
2 - Adicionamos as Gems ao Gemfile
3 - Configuramos o acesso ao banco de dados
4 - Instalamos e atualizamos as Gems da aplicação
5 - Instalamos o Bootstrap
6 - Geramos um Scaffold de um Post
7 - Criamos o banco de dados, e logo após as tabelas
8 - Ligamos o servidor do Rails para testar
9 - Aplicamos um layout ao modelo Post
10 - Aplicamos um layout do Bootstrap ao aplicativo
O que foi feito ?
Ruby on Rails
Tempo de desenvolvimento estimado:
240 segundos – Aprox. 5 minutos
Linhas escritas:
25 linhas
é um Framework escrito na linguagem Ruby de
Desenvolvimento Ágil para WEB
Perguntas
?
?
?
?
?
?
Ruby
http://www.ruby.org

Mais conteúdo relacionado

PDF
jQuery
PPT
Apresentação Ruby no Dojo da UFBA
PDF
Palestra Desenvolvimento Ágil para Web com ROR UVA
PDF
Doctrine 2 camada de persistência para php
PDF
SEA Rails na pratica
PDF
Desenvolvimento web com Ruby on Rails (parte 1)
PDF
Filosofia Ruby e Rails (UFOP e Inforuso 2010)
PDF
Rails na pratica
jQuery
Apresentação Ruby no Dojo da UFBA
Palestra Desenvolvimento Ágil para Web com ROR UVA
Doctrine 2 camada de persistência para php
SEA Rails na pratica
Desenvolvimento web com Ruby on Rails (parte 1)
Filosofia Ruby e Rails (UFOP e Inforuso 2010)
Rails na pratica

Mais procurados (20)

PDF
Criando uma aplicação simples com ruby on rails
PDF
O que mudou no Ruby 1.9
PPTX
Desvendando a linguagem JavaScript
PPT
Desenvolvimento Agil Com Doctrine Orm
PPTX
Curso de Ruby on Rails
PDF
Curso javascript básico
ODP
Introducao ao Ruby On Rails
PDF
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
PDF
Introdução ao Ruby on Rails
PPTX
APIs do Jeito Certo
PDF
Ruby & Rails
PDF
Esta começando a programar para a web? Então começe com Rails
PDF
Palestra Ruby
PDF
Frontline - Rails3.1
PDF
Desenvolvimento ágil de software com Ruby on Rails
PDF
Abstração do banco de dados com PHP Doctrine
PDF
JavaScript for Beginners
PDF
Conhecendo Ruby on Rails
PDF
Ruby on Rails (VERSAO COM LAYOUT CONSERTADO)
ODP
tmn - Introdução ao JavaScript
Criando uma aplicação simples com ruby on rails
O que mudou no Ruby 1.9
Desvendando a linguagem JavaScript
Desenvolvimento Agil Com Doctrine Orm
Curso de Ruby on Rails
Curso javascript básico
Introducao ao Ruby On Rails
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
Introdução ao Ruby on Rails
APIs do Jeito Certo
Ruby & Rails
Esta começando a programar para a web? Então começe com Rails
Palestra Ruby
Frontline - Rails3.1
Desenvolvimento ágil de software com Ruby on Rails
Abstração do banco de dados com PHP Doctrine
JavaScript for Beginners
Conhecendo Ruby on Rails
Ruby on Rails (VERSAO COM LAYOUT CONSERTADO)
tmn - Introdução ao JavaScript
Anúncio

Destaque (18)

PPT
Ruby, Simples e Expressivo
PDF
Nadando em Dinheiro com jQuery
PPTX
la 02Aula02 introdução phone_gap
PDF
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
PPTX
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
PDF
Phonegap
PDF
Jquery Mobile
PPTX
MiniCurso Jquery - IV SimSis
PDF
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
PDF
Desenvolvendo para Android com PhoneGap
PDF
Curso de OO com C# - Parte 01 - Orientação a objetos
PDF
JavaScript Robotics: o que acontece quando o hardware se encontra com o JavaS...
PDF
JavaScript Robotics: Nodebots, JavaScript Além das telas
PPTX
Minicurso IOT com javascript - SBTI
PDF
[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
PDF
Minicurso "Jogos Multiplataforma com Javascript"
PPTX
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
PPT
Minicurso de JavaScript (Portuguese)
Ruby, Simples e Expressivo
Nadando em Dinheiro com jQuery
la 02Aula02 introdução phone_gap
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Phonegap
Jquery Mobile
MiniCurso Jquery - IV SimSis
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Desenvolvendo para Android com PhoneGap
Curso de OO com C# - Parte 01 - Orientação a objetos
JavaScript Robotics: o que acontece quando o hardware se encontra com o JavaS...
JavaScript Robotics: Nodebots, JavaScript Além das telas
Minicurso IOT com javascript - SBTI
[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
Minicurso "Jogos Multiplataforma com Javascript"
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
Minicurso de JavaScript (Portuguese)
Anúncio

Semelhante a Introdução á linguagem Ruby com aplicativo em Rails (20)

PPT
Testes Automatizados em Ruby on Rails
PDF
Ruby On Rails
PDF
Apresentação ruby + rails 2014
PPTX
Ruby on rails impressione a você mesmo, seu chefe e seu cliente
PDF
Ruby and Rails intro
PDF
Quick introduction to Ruby on Rails
PPTX
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
PDF
Introdução ao Rails (Linguagil)
PDF
Rails - EXATEC2009
PDF
Ruby, Rails e Diversão (Campus Party Brasil 2009)
PPTX
PPT
Ruby, Rails e Diversão
PPT
Introdução Ruby 1.8.7 + Rails 3
PDF
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
PDF
Introducao ao desenvolvimento web com Rails
ODP
ODP
Mini-curso RubyOnRails CESOL
PPTX
Ruby on Rails for beginners 2.0
PDF
Testes Automatizados em Ruby on Rails
Ruby On Rails
Apresentação ruby + rails 2014
Ruby on rails impressione a você mesmo, seu chefe e seu cliente
Ruby and Rails intro
Quick introduction to Ruby on Rails
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
Introdução ao Rails (Linguagil)
Rails - EXATEC2009
Ruby, Rails e Diversão (Campus Party Brasil 2009)
Ruby, Rails e Diversão
Introdução Ruby 1.8.7 + Rails 3
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
Introducao ao desenvolvimento web com Rails
Mini-curso RubyOnRails CESOL
Ruby on Rails for beginners 2.0

Último (19)

PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Apple Pippin Uma breve introdução. - David Glotz
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Processos na gestão de transportes, TM100 Col18
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
COBITxITIL-Entenda as diferença em uso governança TI
Aula 18 - Manipulacao De Arquivos python
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Custos e liquidação no SAP Transportation Management, TM130 Col18
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Aula04-Academia Heri- Tecnologia Geral 2025

Introdução á linguagem Ruby com aplicativo em Rails