Por que Ruby on Rails?
           Júlio Monteiro
      julio@monteiro.eti.br




      http://jmonteiro.com
http://jmonteiro.com
http://www.jobscore.com
1993
Linguagem de Script
Interpretada
Orientada a Objeto
Extensível
General Purpose
Influências:
Influências:




Linguagem Prática
Influências:




Orientada a Objetos
Influências:




Metaprogramação
Influências:




 Sintaxe
Influências:




Tratamento de Exceção
Características:
Características:

Não existem “procedimentos”
       nem “funções”
Características:


Tudo é um Objeto
Características:


Métodos são mensagens
Mensagens:
Mensagens:

         42
Mensagens:

         42
Mensagens:

  Ei, objeto 42, me
responda a seguinte
                      42
      mensagem:
       “class”
Mensagens:

  Ei, objeto 42, me
responda a seguinte
                      42
      mensagem:
       “class”
Mensagens:

  Ei, objeto 42, me
responda a seguinte
                        42
      mensagem:
       “class”

                      Fixnum
Mensagens:


 42.class
Mensagens:


 42.class
Mensagens:


 42.class
Mensagens:


 42.class
 Fixnum
Mensagens:


42.send(“class”)
Mensagens:


42.send(“class”)
    Fixnum
Mensagens:

Até operadores matemáticos
       são métodos
Sintaxe para Servir
Sintaxe para Servir
        ();
Classes são abertas
Qual a utilidade
 disso tudo?
Código simples
Pouco código
Onde é mais fácil
corrigir um bug?
Menos tempo para
 desenvolvimento
Menos tempo para
 desenvolvimento
       ou...
Mais qualidade no
 desenvolvimento
Mais qualidade no
 desenvolvimento
e mais importante...
Mais diversão!
Interpretadores
•   MRI (Matz Ruby Interpreter): Ruby tradicional

•   Ruby Enterprise Edition: Ruby 1.8 (MRI) otimizado
•   Kiji: Ruby 1.9 (MRI) otimizado
•   MagLev: inspirado na GemStone SmallTalk VM
•   JRuby: Ruby sobre Java Virtual Machine

•   IronRuby: Ruby sobre .Net
•   MacRuby: Ruby sobre Objective-C

•   Rubinius: Ruby sobre Ruby
2004
Framework
Framework
Desenvolvimento Web
Framework
 Desenvolvimento Web
   com Banco de Dados
Com o Rails, você se
 preocupa com o
 “business code”
Com o Rails, você se
 preocupa com o
 “business code”

         * através do código
Hey, mas o framework
   ___________
  também faz isso!
Quem usa isso?
Obrigado!


http://jmonteiro.com

Por que Ruby on Rails?