50
Ruby on rails EDTED 2010 Bruno Andrade Alves [email protected]

Palestra ror edted

Embed Size (px)

DESCRIPTION

Palestra sobre Ruby On Rails ministrada em 07/08/2010 no 15o EDTED que aconteceu em Belo Horizonte

Citation preview

Page 1: Palestra ror edted

Ruby on railsEDTED 2010

Bruno Andrade [email protected]

Page 2: Palestra ror edted

• Bacharel em ciência da computação na PUCMINAS

• Sócio-fundador da Dito Internet

• Empresa fundada há 3 anos sendo todos os seus projetos desenvolvidos em ruby on rails

• Professor da Pós-Graduação “Desenvolvimento de Sistemas para web”

Apresentação

Page 3: Palestra ror edted

Cases

• 1 milhão de visitantes únicos e 22 milhões de pageviews por mês

• 800.000 usuários cadastrados

• Mais de 8 milhões de apostas realizadas

Page 4: Palestra ror edted

Cases

• Mais de 940.000 usuários cadastrados em menos de 3 meses

• Elevado número de requisições simultâneas

Page 5: Palestra ror edted
Page 6: Palestra ror edted

Ruby

• Linguagem de programação lançada ao público em 1995.

• Popularizou-se em 2006, depois do surgimento do Ruby on Rails.

• Ruby é totalmente gratuita. Para usar, copiar, modificar e distribuir

Page 7: Palestra ror edted

Ruby

• Foco na simplicidade e produtividade

• Influências: Perl, Smalltalk, Eiffel, Ada e Lisp

• Não necessita compilação

• Orientada a objetos, tudo é um objeto

• Flexibilidade

Page 8: Palestra ror edted
Page 9: Palestra ror edted

Ruby foi feito para deixar os programadores felizes!

Page 10: Palestra ror edted

O início

Page 11: Palestra ror edted
Page 12: Palestra ror edted

Porque não reaproveitar o código?

Page 13: Palestra ror edted
Page 14: Palestra ror edted

Porque compartilhar?

“Por razões puramente egoístas” DHH

Page 15: Palestra ror edted

Porque compartilhar?

• Deixar que os outros façam o trabalho

• Ganhar reputação por ser um doador

Page 16: Palestra ror edted

O que é o Rails?

“Um monte de coisas que fazem os desenvolvedores

web felizes”

David Heinemeier Hansson

Page 17: Palestra ror edted

O que é o Rails?

“Um monte de coisas que fazem os desenvolvedores web

felizes”

David Heinemeier Hansson

Page 18: Palestra ror edted

O que é o Rails?

Um framework para desenvolvimento web

Page 19: Palestra ror edted

Rails

• “Tornar o desenvolvimento web mais rápido, simples e mais eficiente.”

• Lançado em julho de 2004.

• Extraída da ferramenta para gestão de projetos Basecamp.

Page 20: Palestra ror edted

Aprendendo Rails

Page 21: Palestra ror edted

Java X Rails

Scaffold

Page 22: Palestra ror edted

Propostas do Rails

Page 23: Palestra ror edted
Page 24: Palestra ror edted

Don’t Repeat Yourself (DRY)

Page 25: Palestra ror edted
Page 26: Palestra ror edted

“As pessoas preferem muito mais escolhas do

que terem que escolher”

David Heinemeier Hansson, RailsConf’08

Page 27: Palestra ror edted

Convention over Configuration

• Usamos convenções para facilitar o entendimento e manutenção

• Rails sugere assumir valores padrão onde existe uma convenção.

• Se o desenvolvedor quiser, pode-se sobrescrever essa convenção com o valor

Page 28: Palestra ror edted
Page 29: Palestra ror edted

Model-View-Controller (MVC)

Page 30: Palestra ror edted

Model-View-Controller (MVC)

• Model: Contém as regras de negócio e faz o controle da persistência dos dados

• View: Responsável por gerar a interface com o usuário

• Controller: Recebem eventos do mundo externo, interagem com o model e disponibilizam a view correta para o usuário

Page 31: Palestra ror edted

Model-View-Controller (MVC)

Page 32: Palestra ror edted
Page 33: Palestra ror edted

ActiveRecord

• Camada de mapeamento objeto-relacional, responsável pela tradução do banco de dados relacional em objetos. Ex:

Cliente.find_by_nome(“Bruno”)

SELECT * FROM “clientes” WHERE (“clientes”.“nome” = ‘Bruno’) LIMIT 1

Page 34: Palestra ror edted

Migrations

• Modo conveniente para alterar a base de dados de um modo estruturado e organizado

• Mantém o controle das alterações feitas

• Todos os desenvolvedores possuem a mesma estrutra da base

Page 35: Palestra ror edted
Page 36: Palestra ror edted

Scaffold

Gerador de código Create Read Update Delete (CRUD)

Page 37: Palestra ror edted

Scaffold

Gerador de código Create Read Update Delete (CRUD)

Page 38: Palestra ror edted

Console

Interação direta com a aplicação para experimentos e testes

Page 39: Palestra ror edted

Test Driven Development (TDD)

• Desenvolvimento orientado a testes

• Teste antes do código

Page 40: Palestra ror edted

Behaviour driven development (BDD)

• Implementa os testes unitários considerando um comportamento

Ex.: Describe Teacher do It “should have a good knowledge”(...)

end

Page 41: Palestra ror edted

Testes

• Rails já possui uma estrutura para o desenvolvimento de testes automatizados (TDD).

• O Rspec é um framework para o BDD

Page 42: Palestra ror edted

Partes comuns dos sistemas

• Autenticação

• Paginação

• TagCloud

Page 43: Palestra ror edted

Plugins

• Fácil extensão do código

• Agilidade

• Melhoramento contínuo

Page 44: Palestra ror edted

Deploy

• Capistrano é utilizado para automatizar o deploy

• Executa todas as etapas do deploy

Page 45: Palestra ror edted

Cases

Page 46: Palestra ror edted

Quer começar?

Page 47: Palestra ror edted

rubyonrails.org

Page 48: Palestra ror edted

railscasts.com

Page 49: Palestra ror edted

Dúvidas?