Ruby on Rails, spesso chiamato RoR o semplicemente Rails, è un frameworkopen source per applicazioni web scritto in Ruby la cui architettura è fortemente ispirata al paradigma Model-View-Controller (MVC). I suoi obiettivi sono la semplicità e la possibilità di sviluppare applicazioni di concreto interesse con meno codice rispetto ad altri framework. Il tutto con necessità di configurazione minimale.
Rails è principalmente distribuito attraverso RubyGems, che è il formato dei pacchetti e il canale di distribuzione ufficiale per librerie ed applicazioni Ruby.
Filosofia
I principi guida di Ruby on Rails comprendono "Don't Repeat Yourself" e "Convention Over Configuration".
"Don't Repeat Yourself" significa che le definizioni devono essere poste una volta soltanto. Poiché Ruby On Rails è un framework "full-stack", i componenti sono integrati in modo tale che i collegamenti fra di essi non devono essere impostati manualmente. Ad esempio in Active Record, le definizioni delle classi non devono specificare i nomi delle colonne; Ruby può estrarli direttamente dal database, dunque riportarli anche nel programma sarebbe ridondante.
"Convention Over Configuration" significa che il programmatore ha bisogno di metter mano alla configurazione soltanto per ciò che differisce dalle convenzioni. Ad esempio, se un modello è costituito dalla classe Post
, la corrispondente tabella nel database deve chiamarsi posts
, o altrimenti deve essere specificata manualmente (set_table_name "blogposts"
, nel caso in cui blogposts
sia il nome della tabella).