Ruby on Rails, conosciuto anche come Rails o RoR, è un framework per applicativi web realizzato utilizzando il linguaggio di programmazione Ruby e rilasciato con licenza open source. Ideato nella prima metà degli anni 2000 dallo sviluppatore danese David Heinemeier Hansson, Ruby on Rails è basato sull'architettura MVC (acronimo di Model-View-Controller): l'obiettivo, infatti, è quello di fornire agli sviluppatori una piattaforma che faciliti lo sviluppo di applicativi web e non solo.

 

 

Ruby on Rails incoraggia e facilita l'utilizzo di standard per il web come JSON e XML per il trasferimento dei dati; HTML, CSS e JavaScript per il rendering e la loro visualizzazione grafica.

La filosofia Ruby on Rails

Come accennato, RoR nasce con l'obiettivo di facilitare e velocizzare il lavoro di sviluppatori di applicativi per il web. Non è un caso, dunque, che no dei principi cardine su cui si basa il lavoro di sviluppo in Ruby on Rails sia la metodologia DRY (acronimo di Do not repeat yourself, non ripeterti). Grazie a questo accorgimento, il programmatore dovrà definire gli elementi solamente la prima volta che saranno utilizzati: da lì in poi sarà possibile continuare a utilizzarli senza dover richiamare la definizione in ogni occasione. Una caratteristica particolarmente utile nel momento in cui si dovranno utilizzare porzioni di codice in diverse componenti funzionali del software in fase di sviluppo.

 

 

Ruby on Rails, inoltre, è un framework full-stack: l'integrazione tra i vari livelli e le varie componenti del programma è così elevata che lo sviluppatore non dovrà impostare i collegamenti tra di essi. Nel caso in cui un applicativo faccia riferimento ad un dato contenuto in una specifica colonna del database (anche esterno), il programmatore non dovrà inserire il richiamo nel codice sorgente, ma sarà lo stesso framework a recuperarlo in maniera automatica. Rails, infine, fa sua la filosofia di sviluppo Convention over configuration: chi sviluppa l'applicativo dovrà intervenire nella configurazione degli elementi del sofware solo nel momento in cui deciderà, autonomamente e volontariamente, di andare al di furori delle convenzioni specificate.

L'architettura MVC

 

 

A facilitare ulteriormente il lavoro di sviluppo troviamo l'architettura MVC, che fornisce ai programmatori un pattern o schema grazie al quale sarà possibile risolvere, in maniera razionale e piuttosto veloce, eventuali problematiche relative all'organizzazione di un applicativo web. Lo schema MVC (model-view-controller) dà modo di gestire in maniera indipendente i dati associati alla funzionalità logica del software da quelli relativi alla loro traduzione in elementi grafici e dalle componenti che controllano e adottano le funzionalità stesse. Il nome dell'architettura è dovuto al fatto che il paradigma appena descritto prevede la presenza di un Model (ovvero i metodi che danno modo di accedere alle informazioni che l'applicativo potrà modificare) di una View (o vista, che si occupa di rendere visibili le informazioni necessarie al model e consentono l'interazione tra i dati) e di un Controller (che riceve i comandi dell'utente e li mette in atto, modificando così sia il model, sia la view).

A cura di Cultur-e Costruisci il tuo futuro con la connessione Fastweb