
Introdução a Ruby on Rails
Ruby on Rails foi criado por David Heinemeier Hansson e chegou ao público em 2004. É uma linguagem de script, interpretada e orientada a objetos, possuindo como principal objetivo, tornar melhor a vida dos desenvolvedores, por ser uma linguagem de fácil aprendizado e flexível
Ruby on Rails é extensível e portável. Possui versões para diversos ambientes, como Linux, Mac, e Windows.
Como tudo em Ruby on Rails é gratuito e open source, você possui liberdade de usar, alterar e distribuir as aplicações desenvolvidas.
Ruby on Rails foi desenvolvido utilizando como padrão o modelo MVC (Model-View-Controller).
Rails é um “meta-framework”, pois possui cinco frameworks, são eles:
Active Record
É uma camada de mapeamento objeto-relacional (object-relational mapping layer), responsável pela interoperabilidade entre a aplicação e o banco de dados e pela abstração dos dados.
Action Pack
Compreende o Action View (geração de visualização de usuário, como HTML, XML, JavaScript, entre outros) e o Action Controller (controle de fluxo de negócio).
Action Mailer
O Action Mailer é um framework responsável pelo serviço de entrega e até mesmo de recebimento de e-mails. É relativamente pequeno e simples, porém poderoso e capaz de realizar diversas operações apenas com chamadas de entrega de correspondência.
Active Support
Active Support é uma coleção de várias classes úteis e extensões de bibliotecas padrões, que foram considerados úteis para aplicações em Ruby on Rails.
Action WebServices
Provê uma maneira de publicar APIs interoperaveis com o Rails, sem a necessidade de perder tempo dentro de especificações de protocolo. Implementa WSDL e SOAP.
O Action Web Service não estará mais presente na versão 2.0 no Rails, visto que o mesmo está voltando-se para a utilização do modelo REST. Mesmo assim, aos ainda interessados em utilizá-lo, será possível fazê-lo através da instalação de um plugin.
DRY
DRY (Don’t Repeat Yourself, Não se repita) é o conceito do reaproveitamento ou compartilhamento de código entre partes de aplicação.
Escalabilidade
Para melhor entendimento, sugiro esta página na internet.
