introdução á linguagem ruby com aplicativo em rails

53
Ruby

Upload: overduka

Post on 09-Aug-2015

63 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Introdução á linguagem Ruby com aplicativo em Rails

Ruby

Page 2: Introdução á linguagem Ruby com aplicativo em Rails

Grupo

Alan Cardoso

Marcelo Alexandre

Marcelo Oliveira

Nathan Novelli

Wagner Siqueira

Page 3: Introdução á linguagem Ruby com aplicativo em Rails

Criador

Yukihiro “Matz” Matsumoto

Page 4: Introdução á linguagem Ruby com aplicativo em Rails

Características

• Interpretada

Page 5: Introdução á linguagem Ruby com aplicativo em Rails

Características

Linguagem interpretada

Interactive Ruby (irb)

Page 6: Introdução á linguagem Ruby com aplicativo em Rails

Características

• Interpretada• Dinâmica

Page 7: Introdução á linguagem Ruby com aplicativo em Rails

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

Page 8: Introdução á linguagem Ruby com aplicativo em Rails

Características

• Interpretada• Dinâmica• Tipagem dinâmica

Page 9: Introdução á linguagem Ruby com aplicativo em Rails

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

Page 10: Introdução á linguagem Ruby com aplicativo em Rails

Características

• Interpretada• Dinâmica• Tipagem dinâmica• Tipagem forte

Page 11: Introdução á linguagem Ruby com aplicativo em Rails

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

Page 12: Introdução á linguagem Ruby com aplicativo em Rails

Características

• Interpretada• Dinâmica• Tipagem dinâmica• Tipagem forte• Orientada a objetos

Page 13: Introdução á linguagem Ruby com aplicativo em Rails

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

Page 14: Introdução á linguagem Ruby com aplicativo em Rails

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!

Page 15: Introdução á linguagem Ruby com aplicativo em Rails

Comunidade

Page 16: Introdução á linguagem Ruby com aplicativo em Rails

Gems

Mais de 57 mil gems!

RubyGems

Page 17: Introdução á linguagem Ruby com aplicativo em Rails

Documentação

RDoc

ruby-doc.org

Page 18: Introdução á linguagem Ruby com aplicativo em Rails

Utilização

• Administração de sistemas

Page 19: Introdução á linguagem Ruby com aplicativo em Rails

Utilização

Administração de sistemas

Page 20: Introdução á linguagem Ruby com aplicativo em Rails

Utilização

• Administração de sistemas• Desenvolvimento desktop

Page 21: Introdução á linguagem Ruby com aplicativo em Rails

Utilização

• APIs gráficas (GTK+, Shoes, etc.)• IronRuby + .NET• IronRuby + Mono• Jruby + Java VM

Desenvolvimento desktop

Page 22: Introdução á linguagem Ruby com aplicativo em Rails

Utilização

• Administração de sistemas• Desenvolvimento desktop• Desenvolvimento mobile

Page 23: Introdução á linguagem Ruby com aplicativo em Rails

Utilização

• mruby + MobiRuby (iOS)• RubyMotion (iOS)• Rhodes (iOS, Android,

Windows Phone, Symbian e Blackberry)

Desenvolvimento mobile

Page 24: Introdução á linguagem Ruby com aplicativo em Rails

Utilização

• Administração de sistemas• Desenvolvimento desktop• Desenvolvimento mobile• Desenvolvimento web

Page 25: Introdução á linguagem Ruby com aplicativo em Rails

Utilização

Desenvolvimento web

Page 26: Introdução á linguagem Ruby com aplicativo em Rails

Ruby on Rails

Criador

David Heinemeier Hansson

Page 27: Introdução á linguagem Ruby com aplicativo em Rails

Ruby on Rails

Basecamp

Page 28: Introdução á linguagem Ruby com aplicativo em Rails

Ruby on Rails

MVC (model-view-controller)

Controller Model

View

DB

Page 29: Introdução á linguagem Ruby com aplicativo em Rails

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>

Page 30: Introdução á linguagem Ruby com aplicativo em Rails

Ruby on Rails

Cases

GitHub

Page 31: Introdução á linguagem Ruby com aplicativo em Rails

Ruby on Rails

Cases

Hulu

Page 32: Introdução á linguagem Ruby com aplicativo em Rails

Ruby on Rails

Cases

Scribd

Page 33: Introdução á linguagem Ruby com aplicativo em Rails

Ruby on Rails

Cases

SlideShare

Page 34: Introdução á linguagem Ruby com aplicativo em Rails

Ruby on Rails

Cases

Groupon

Page 35: Introdução á linguagem Ruby com aplicativo em Rails

Ruby on Rails

Cases

Page 36: Introdução á linguagem Ruby com aplicativo em Rails

Ruby on Rails

Cases

StartupDEV

Page 37: Introdução á linguagem Ruby com aplicativo em Rails

Ruby on Rails

Show me the code!

Page 38: Introdução á linguagem Ruby com aplicativo em Rails

Em apenas 10 passos !

Criando uma Aplicação

Exemplo

com

est

ilo

Page 39: Introdução á linguagem Ruby com aplicativo em Rails

Ruby on Rails

Requisitos:

•Ruby•Gem Rails•Banco de dados (Qualquer tipo)

Page 40: Introdução á linguagem Ruby com aplicativo em Rails

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

Page 41: Introdução á linguagem Ruby com aplicativo em Rails

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

Page 42: Introdução á linguagem Ruby com aplicativo em Rails

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

Page 43: Introdução á linguagem Ruby com aplicativo em Rails

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

Page 44: Introdução á linguagem Ruby com aplicativo em Rails

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

Page 45: Introdução á linguagem Ruby com aplicativo em Rails

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

Page 46: Introdução á linguagem Ruby com aplicativo em Rails

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

Page 47: Introdução á linguagem Ruby com aplicativo em Rails

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

Page 48: Introdução á linguagem Ruby com aplicativo em Rails

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

Page 49: Introdução á linguagem Ruby com aplicativo em Rails

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

Page 50: Introdução á linguagem Ruby com aplicativo em Rails

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 ?

Page 51: Introdução á linguagem Ruby com aplicativo em Rails

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

Page 52: Introdução á linguagem Ruby com aplicativo em Rails

Perguntas

???

?

?

??

Page 53: Introdução á linguagem Ruby com aplicativo em Rails

Rubyhttp://www.ruby.org