Linguagem de programação
Histórico Concebida em 1993 por Yukihiro Matsumoto Primeiro livro em inglês saiu em setembro de 2000 Ruby on Rails é lançado em 2004
Aspectos gerais Tipagem dinâmica e forte Gerenciamento de memória automático Linguagem de script Orientada a objeto
Motivação Matsumoto queria uma linguagem de script que fosse mais poderosa do que Perl, e mais orientada a objetos do que Python.
Tipos de dados Não existem tipos primitivos, todos os tipos são classes Object é a classe mãe de todas as outras classes em Ruby
Exemplo puts "Olá, Mundo!"
Features da Linguagem Dynamic Typing e Duck Typing Suporte a herança, mixins e metaclasses Tudo é expressão e tudo é executado de forma imperativa
Features da Linguagem Suporte a Reflection Sintaxe única de blocos Possibilidade de colocar pedaços de código dentro de strings
Features da Linguagem 4 níveis de escopo para as variáveis Coletor de Lixo First Class Continuations Regras restritas para boolean
Features da Linguagem Shell Interativo Eval Suporte nativo a threads Suporte a unicode
Features da Linguagem Suporte a tratamento de exceções Gerenciador de pacotes RubyGems Distribuições para as principais plataformas Extensa biblioteca padrão
Aplicações da Linguagem
Ruby on Rails Ruby on Rails é um framework livre (codigo aberto) para criação de aplicações para web feito para a linguagem Ruby
Ruby on Rails Esse framework usa a arquitetura MVC (Model-View- Controller) para organizar a estrutura das aplicações
Ruby on Rails O Ruby on Rails é separado em vários pacotes, esses sendo: Active Record: é uma camada de mapeamento objeto- relacional, responsável pela interoperabilidade entre a aplicação e o banco de dados e pela abstração dos dados. Active Pack: Compreende o Action View (interface com usuário) e o Action Controller (lógica da aplicação) Active Resource, Active Mailer, Active Support: Serviços web e outras funções
Ruby on Rails O Ruby on Rails usa os principios CoC (Convention over Configuration) e o Dry (Don't repeat yourself) para acelerar o desenvolvimento de aplicações CoC: Significa que o desenvolvedor só precisa especificar aspectos não convencionais da aplicação, por exemplo, se tem uma classe "Venda" no modelo, a tabela correspondente no banco de dados é nomeada "Vendas" automaticamente Dry: É o conceito por trás da técnica de definir nomes, propriedades e códigos em somente um lugar e reaproveitar essas informações em outros.
JRuby é a implementação da linguagem Ruby para a Plataforma Java em desenvolvimento pela JRuby Team. Ele é fortemente integrado ao Java, permitindo interação facil entre o Ruby e o Java na mesma aplicação. O JRuby tambem suporta o Ruby on Rails o que o torna uma ferramenta poderosa.
RPG Maker O RPG Maker XP e a versão mais recente RPG Maker VX ambas permitem o uso de Scripts RGSS (Ruby Game Scripting System) para adicionar diferentes tipos de features e sistemas em jogos feitos pela ferramenta, embora seja um pouco limitado o RGSS aumentou consideravelmente a customização e variedade de jogos feitos em RPG Maker
RPG Maker VX RPG Maker XP
Referências of-mixins-and-or-traits que-a-tipagem-e-fraca/
Pequena Demostração de Ruby