O documento introduz a linguagem Ruby e o framework Rails. Apresenta as principais características e conceitos da linguagem Ruby como tipagem dinâmica, orientação a objetos e foco na solução de problemas. Também explica os conceitos do framework Rails como MVC, convenção sobre configuração e uso de Ruby. Por fim, inicia um exemplo prático de cadastro de livros usando Rails.
1. Introdução ao Ruby on
Rails
UniInfo 2007
Jony dos Santos Kostetzer
http://jonysk.net | jony@jonysk.net
2. Objetivos do mini-curso
● Conhecer a linguagem Ruby e suas principais
características sintáticas
● Compreender a arquitetura MVC e sua
aplicação no Rails
● Compreender os conceitos que norteiam o
desenvolvimento de aplicações com Rails
● Desenvolver um cadastro de livros de forma
incremental
4. História
● Criada em 1993 por Yukihiro “matz” Matsumoto
● Sucesso com o Rails
● No Japão, mais popular que a linguagem
Python
● Inspirada em Perl, Smalltalk, Ada, Eiffel, Lisp
● Open Source
● Versão estável: 1.8.6
● Quase 4.300 projetos hospedados no
RubyForge
5. Características
● Sintaxe simples, eficiente...
● ... e divertida!
● Code less, do more!
● Foco na solução
● Tipagem dinâmica e forte
● Tudo é objeto
● Tudo tem um valor
6. Dave Thomas says...
● I believe that the purpose of life is, at least in
part, to be happy. Based on this belief, Ruby is
designed to make programming not only easy
but also fun.
● You can concentrate on solving the problem at
hand, instead of struggling with compiler and
language issues. That’s how it can help you
become a better programmer: by giving you the
chance to spend your time creating solutions for
your users, not for the compiler.
7. Características
● Classes abertas
● Herança simples, mas extensível com mixins
● Mensagens e não chamada de métodos
● Operadores mutáveis
● Variáveis são referências a objetos
● Uso massivo de blocos
9. Classes e objetos
class Classe
def initialize(param1, param2)
@inst1, @inst2 = param1, param2
end
def metodo(param1, param2)
end
end
a = Class.new
a.metodo
a.metodo(1, 2)
a.metodo 1, 2
a.send “metodo”, 1, 2
11. Rails
● Criado em meados de 2003 por David
Heinemeier Hansson (DHH)
● Aplicação real que foi abstraída
● 37signals.com
● MVC
● Vantagem principal: Ruby!!
12. A filosofia por trás do Rails
● DRY – Don't Repeat Yourself
● Convention over Configuration
● Opinated software
● Agile Manifesto - http://www.agilemanifesto.org
● Resposta às mudanças