Desenvolvimento ágil
Com Ruby on Rails
a apresentação já vai começar...
Quem somos nozes?
•Rogério Chaves
•twitter.com/_rchaves_
•facebook.com/rogerio.chaves
• Victor Hugo
• facebook.com/viictoor.huugo
Quem usa Rails?
O que é Ruby?•Linguagem de programação de alto nível
Olá Mundo em Java Olá Mundo em Ruby
Tornar as coisas simples fáceis e
as coisas complexas possíveis
Filosofia Ruby
Se um código em Ruby está feio é porque está errado
Yukihiro “Matz” - Criador do Ruby
O que é Rails?
•Framework para a web construído sobre o Ruby, que utiliza conceitos como Convention Over Configuration, MVC, DRY, KISS e REST.
ahm?
O que é Rails?
•Um conjunto de códigos, técnicas e padrões para se desenvolver aplicações para a web utilizando a linguagem Ruby
•Utiliza vários conceitos de desenvolvimento ágil e de Web 2.0
E o que eu ganho com isso?
•Agilidade
•Facilidade
•Testabilidade
•Manutenibilidade
•Diversão
Você vai precisar de:
•Qualquer sistema operacional
•Ruby 1.8.7 ou superior
•Rubygems
•Executar o comando “gem install rails”
Conceitos
Convention over Configuration
•Pressupõe as configurações, ganhando simplicidade sem perder flexibilidade
MVC
•Modelo, Visualização e Controlador(Entidade, Fronteira, Persistência)
DRY
•Don’t Repeat Yourself
•Cada porção do sistema deve ter uma representação única, livre de ambiguidades
KISS
•Keep It Simple Stupid
•Nada de gambiarras
REST•Técnica de Engenharia de Software para sistemas hipermídia distribuídos como a World Wide Web (fonte: wikipedia)
Layouts
•Facilidade para criar vários layouts para um mesmo projeto
•Pouquíssimo HTML em todas as outras páginas
Migrações
•O código de criação de banco é em Ruby, não em SQL
•Adaptável com qualquer banco de dados
Gems e Plugins• Plugins para tudo
• Facílima Instalação
• Exemplos:
• paperclip
• will_paginate
• brazilian-rails
• nested_form
• rails_admin
• pdfkit
Escalabilidade?
Escalabilidade!
100 concurrent clients1 megabyte response
node 822 req/snginx 708apach
e531
thin 85mongrel
4
Escalabilidade!
Hospedagem
R$ 0,00
JRuby
•Implementação de Java em Ruby
Se interessou?•O Guia Comovente do Ruby do Why - http://why.nomedojogo.com
•Caelum - http://www.caelum.com.br/
•Railscasts - http://railscasts.com/
•Google - http://www.google.com.br
Grandes Rubystas
Fábio Akita (Akita on Rails)@akitaonrails
José Valim@josevalim
_why
Grandes Rubystas
Aaron Patterson@tenderlove
Pedro Franceschi (PH)@pedroh96
Yehuda Katz@wycats
Grandes Rubystas
Jim Weirich@jimweirich
Obrigado!
Let’s Develop!