Slides do curso Programação web com RubyOnRails

download Slides do curso Programação web com RubyOnRails

If you can't read please download the document

Transcript of Slides do curso Programação web com RubyOnRails

Programao Web com RubyOnRails

O problema

O problema

Aumentar a produtividade

O problema

Aumentar a produtividade

Falta de bons programadores

Nosso objetivo

Nosso objetivo

Formar desenvolvedores para a FOCO|Virtual

Nosso objetivo

Formar desenvolvedores para a FOCO|Virtual

Formar empreendedores

Como faremos isso ?

Como faremos isso ?

Conhecer o porque das coisas

Como faremos isso ?

Conhecer o porque das coisas

Exemplos prticos

Como faremos isso ?

Conhecer o porque das coisas

Exemplos prticos

Oque fazer depois do curso

Por que usar Ruby ?

Por que usar Ruby ?

Porque gostoso programar com Ruby

Por que usar Ruby ?

Porque gostoso programar com Ruby

simples de ler e entender

Por que usar Ruby ?

Porque gostoso programar com Ruby

simples de ler e entender

Foco no negcio

Por que usar Ruby ?

Porque gostoso programar com Ruby

simples de ler e entender

Foco no negcio

A comunidade

Por que usar Ruby ?

Porque gostoso programar com Ruby

simples de ler e entender

Foco no negcio

A comunidade

O ecossistema

Ento porque poucas empresas usam Ruby ?

Ento porque poucas empresas usam Ruby ?

No existe nenhuma grande empresa mantenedora

Ento porque poucas empresas usam Ruby ?

No existe nenhuma grande empresa mantenedora

Falta de profissionais

Quem mantm o Ruby ento ?

Quem mantm o Ruby ento ?

A comunidade

Oba. O Ruby a linguagem perfeita ento ?

Oba. O Ruby a linguagem perfeita ento ?

O Ruby ainda lento

Como o Ruby surgiu

Como o Ruby surgiu

Concebido em 1993 por Yukihiro Matsumoto "Matz"

Como o Ruby surgiu

Concebido em 1993 por Yukihiro Matsumoto "Matz"

Lanado em 1995 - Verso 0.95

Como o Ruby surgiu

Concebido em 1993 por Yukihiro Matsumoto "Matz"

Lanado em 1995 - Verso 0.95

25/12/1996 Ruby 1.0

Como o Ruby surgiu

Concebido em 1993 por Yukihiro Matsumoto "Matz"

Lanado em 1995 - Verso 0.9525/12/1996 Ruby 1.0

Atualmente - 1.9.1

Caractersticas

Caractersticas

Orientada a objetos

Caractersticas

Orientada a objetos

Interpretada

Caractersticas

Orientada a objetos

Interpretada

Tipagem forte e dinmica

Caractersticas

Orientada a objetos

Interpretada

Tipagem forte e dinmica

Metaprogramao

Implementaes de Ruby

Implementaes de Ruby

MRI - Ruby do Matz

Implementaes de Ruby

MRI - Ruby do Matz

REE - MRI tunado, poupa memria

Implementaes de Ruby

MRI - Ruby do Matz

REE - MRI tunado, poupa memria

JRuby - Usa a JVM e libs Java

Implementaes de Ruby

MRI - Ruby do Matz

REE - MRI tunado, poupa memria

JRuby - Usa a JVM e libs Java

IronRuby - Roda com .NET

Implementaes de Ruby

MRI - Ruby do Matz

REE - MRI tunado, poupa memria

JRuby - Usa a JVM e libs Java

IronRuby - Roda com .NET

Rubinius - Ruby escrito em Ruby

Implementaes de Ruby

MRI - Ruby do Matz

REE - MRI tunado, poupa memria

JRuby - Usa a JVM e libs Java

IronRuby - Roda com .NET

Rubinius - Ruby escrito em Ruby

MagLev - VM do SmallTalk

Implementaes de Ruby

MRI - Ruby do Matz

REE - MRI tunado, poupa memria

JRuby - Usa a JVM e libs Java

IronRuby - Roda com .NET

Rubinius - Ruby escrito em Ruby

MagLev - VM do SmallTalk

MacRuby - Usando Objective-C

Verses do Ruby MRI

Verses do Ruby MRI

1.8.6

Verses do Ruby MRI

1.8.6

1.8.7

Verses do Ruby MRI

1.8.6

1.8.7

1.9.1

Verses do Ruby MRI

1.8.6

1.8.7

1.9.1

1.9.2 RC

Blablablabla, vamos logo ao que interessa

Instalando o Ruby

Instalando o Ruby

No Ubuntu, claro

Instalando o Ruby

No Ubuntu, claro

O Ruby no gosta do Windows

Instalando o Ruby

No Ubuntu, claro

O Ruby no gosta do Windows

Mac j vem com Ruby, ebaaaaaaa

O melhor jeito de instalar

sudo apt-get install curl bison build-essential zlib1g-dev libssl-dev libreadline5-dev libxml2-dev git-core ruby rubygems

Rodando Ruby

Rodando Ruby

irb

Rodando Ruby

irb

ruby

Rodando Ruby

irb

ruby

shebang

Vamos por a mo na massa

Arrays e Hashs

Strings, numbers, symbols

Estruturas de controle - If, While

Blocks Mtodos, classes e objetos

RubyGems

RubyOnRails

RubyOnRails

O que o Rails ?

RubyOnRails

O que o Rails ?

Criado em 2004 por David Heinemeier Hansson

RubyOnRails

O que o Rails ?

Criado em 2004 por David Heinemeier Hansson

Atualmente verso 2.3.8

RubyOnRails

O que o Rails ?

Criado em 2004 por David Heinemeier Hansson

Atualmente verso 2.3.8

Em breve verso 3

Sites que usam Rails

Entendendo o conceito MVC

A filosofia e o design do Rails

A filosofia e o design do Rails

Convention over Configuration (CoC)

A filosofia e o design do Rails

Convention over Configuration (CoC)

Don't Repeat Yourself (DRY)

Componentes do framework

Componentes do framework

Action Controller

Componentes do framework

Action Controller

Action View

Componentes do framework

Action Controller

Action View

Active Record

Componentes do framework

Action Controller

Action View

Active Record

Action Mailer

Componentes do framework

Action Controller

Action View

Active Record

Action Mailer

Active Resource

Componentes do framework

Action Controller

Action View

Active Record

Action Mailer

Active Resource

Railties

Componentes do framework

Action Controller

Action View

Active Record

Action Mailer

Active Resource

Railties

Active Support

REST

78 slides depois... vamos ao que interessa

Para tudo h uma gem

Para tudo h uma gem

Autenticao (Authlogic, Devise)

Upload de arquivos (Paperclip, CarrierWave)

Paginao (WillPaginate)

http://www.ruby-toolbox.com/

GitHub

Colocando o site no ar

Colocando o site no ar

Goodbye FTP... hello Capistrano

Colocando o site no ar

Goodbye FTP... hello Capistrano

Apache e Passenger

Ecossitema Rails

Editores

Hospedagens

A comunidade

Eventos

E agora ???

E agora ???

guides.rubyonrails.orgakitaonrails.com

nomedojogo.com

Apoiadores

Obrigado a todos