7. Ruby on Rails
{
{
linguagem de framework de
programação desenvolvimento
8. { on
{
linguagem de framework de
programação desenvolvimento
9.
10. • Tecnologia japonesa
• Lançada em 1995
• O “Python” oriental
• Ênfase na simplicidade
e na elegância
• Código aberto,
gratuito e sem restrições Arquiteto do Ruby,
Yukihiro “Matz” Matsumoto
11. Características Técnicas
• Orientado a objeto
• Tudo é um objeto (diferente de Java, Python e
Perl)
• Herança única, com extensão por módulos
• Possibilidade de adicionar programação em
runtime
• Traços de orientação a aspectos
12. Influências por linguagem
• Linguagem prática (Perl)
• Orientação a objetos (Smalltalk)
• Metaprogramação (Smalltalk)
• Sintaxe (Smalltalk, Eiffel e Ada)
• Tratamento de exceções (Java e Python)
20. • Extração do Basecamp, da 37signals
• Desenvolvido para o mundo real
• Completo, eficiente, extensível
• Código aberto, gratuito e sem restrições
• MVC + Helpers
33. Exemplo rápido
• No desenho do projeto:
– Um “Cliente” tem vários “Carros”
a client has many cars
34. Exemplo rápido
• No desenho do projeto:
– Um “Cliente” tem vários “Carros”
a client has many cars
• Na programação do Rails:
class Client
has_many :cars
(...)
36. +
Metaprogramação Convention over Configuration
Geração de código em Runtime MVC + Helpers
Simplicidade Focado no mundo real
Elegância Extendability
... ...
43. • Implementação do Ruby em cima do Java
• Possibilidade de executar código Ruby na
máquina virtual do Java
• Compilação de código Ruby para .class
(bytecode Java)
• Já estável e em utilização
44.
45. • Suporte a Java (claro), C/C++ e Ruby!
• Investimento pesado no desenvolvimento da
IDE
• O mais completo “code completion” entre
todas as IDEs
66. • Sistema de microblogging
• Aplicação 100% em Ruby on Rails
• Diversas APIs, integração com SMS,
mensagem instantânea (GTalk), etc...
• 11.000 hits per second
67.
68. • Integração de blogs brasileiros.
• Sistema também 100% Ruby on Rails
• Desenvolvimento em 4 dias
69.
70. • Palestras, reuniões, aulas e eventos online
• Streaming de webcam, voz e desktop sharing
• Ruby on Rails + Flex + Flash Media Server