desenvolvimento Ágil com ruby on rails

Post on 28-May-2015

525 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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!

top related