introdução á linguagem ruby com aplicativo em rails

Post on 09-Aug-2015

63 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 endend

juca = Aluno.newjuca.respond_to? :escreve# => false

professor = Professor.newprofessor.ensina jucajuca.escreve# => “Sei escreve!”

Linguagem dinâmica

Metaprogramação

class Aluno # Não sabe nadaend

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 endend

class Aluno < Pessoa attr_acessor :cgu

def estudar # estudar endend

p = Pessoa.new(“João”, 18)a = Aluno.newa.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

com

est

ilo

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.rudoc log script tmpGemfile.lock Rakefileconfig 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 Dadosgem "twitter-bootstrap-rails"#Gem do Twitter Bootstrapgem "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:stringprice: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 sou se preferir

rails server

Ruby on Rails

Passo 9 Aplicando Layout Bootstrap ao Modelo

Com um comando o Bootstrap e o Rails geram o estiloBootstrap 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 oLayout 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 dados4 - Instalamos e atualizamos as Gems da aplicação5 - Instalamos o Bootstrap6 - Geramos um Scaffold de um Post7 - Criamos o banco de dados, e logo após as tabelas8 - Ligamos o servidor do Rails para testar9 - Aplicamos um layout ao modelo Post10 - Aplicamos um layout do Bootstrap ao aplicativo

O que foi feito ?

Ruby on Rails

Tempo de desenvolvimento estimado:

240 segundos – Aprox. 5 minutosLinhas escritas:

25 linhas

é um Framework escrito na linguagem Ruby de

Desenvolvimento Ágil para WEB

Perguntas

???

?

?

??

Rubyhttp://www.ruby.org

top related