Prazer,Ruby On Rails

Preview:

DESCRIPTION

Palestra apresentada no dia 19/12/2008.

Citation preview

Prazer, Ruby on Rails

Quem?

•Alberto Leal

•BLOG: http://www.albertoleal.eti.br

•GITHUB: http://www.github.com/albertoleal

O que?

•Apresentação da Linguagem RUBY

•Apresentação do Framework RAILS

•Testes Automatizados

•Hands-on

•Ferramentas

•RAILS e o Mercado

Antes de mais nada ....

Linguagem Programação

Framework

on

Yukihiro “Matz” Matsumoto

- Lançada em 1995- Linguagem de script- Código aberto e sem restrições- Simples e elegante

O Criador

“Para mim o propósito da vida é parcialmente em ter prazer. Programadores as vezes sentem prazer quando podem se concentrar na parte criativa da programação. Então Ruby foi projetado para fazer programadores

felizes.”Matz

Linguagens que influenciaram

•Perl - Linguagem Prática

•Smalltalk - Orientada a Objetos

•Lisp - Metaprogramação

•Smalltalk, Eifell - Sintaxe

•Java, Pyton - Tratamento de exceção

Características• Interpretada

• Expressiva

• Herança Simples

• Dinâmica (monkeypatching)

• Multi-paradigma

• Clousures

• Mixins

• Duck Typing

• TUDO é OBJETO

TUDO é OBJETO

array[x]=y

array.[]=(x,y)

x+y

x.+(y)

Duck Typing“Se anda como um pato e

fala como um pato, então é um pato!”

Classes não são tipos! Tipos são definidos com base no

que um objeto pode fazer.

Gems

RubyGems

Implementações

•MRI

•JRuby

•IronRuby

•Rubinius

Extraído a partir de um problema real!

MVC

ActiveRecordActionPackActionMailerActiveSupport

Meta-Framework

Convenção ao invés de

Configuração

O que torna Rails ágil?

class Post < ActiveRecord::Base has_many :comments belongs_to :author end

class Comment < ActiveRecord::Base belongs_to :post end

class Author < ActiveRecord::Base has_many :posts end

Testes Automatizados

BEHAVIOR DRIVEN DEVELOPMENT

TEST DRIVEN DEVELOPMENT

TDD

BDD

X

Testes

Unitário

Funcional

Integração

Construindo um e-commerce

Hands-on

História 1

História 2

História 3

Ferramentas

Mac OS X WindowsLinux

TextMate

emacs

emacs

RadRails + Aptana

NetbeansNetbeans

Netbeans

e outras ....

Rails e o Mercado

Empresas utilizando

Empresas utilizando

Sem Brigas, por favor

Java Ruby

Rails

.NETC

C++ C#

PerlPyton

Django

Merb

JSF

Struts...

Dúvidas?

Obrigado!