Chi non ha sentito parlare di Ruby on Rails, e delle sue notevoli caratteristiche? Codice molto efficace, totalmente orientato agli oggetto, e con un’architettura MCV. Per quanto posso dire della mia diretta esperienza, non solo è tutto vero, ma c’è anche dell’altro.
Info su questo tutorial
Ho letto in giro spesso di web designers, abituati a lavorare con linguaggi come ASP o PHP, che volevano imparare questa nuova tecnologia e non sapevano da dove partire. E’ davvero difficile trovare online tutorial degni di questo nome che possano rappresentare un valido startup per chi intende imparare.
Questa guida si pone come obiettivo di rappresentare (con tutti i propri limiti) una parte di questo “punto di partenza”. Sarà divisa in diverse lezioni, pubblicate settimanalmente e sarà costantemente aggiornata con articoli e tutorial di approfondimento su questa rivoluzionaria tecnologia web.
Questa prima lezione potrà apparirvi un pò “arida”, ma è necessario conoscere bene i fondamenti di RoR, e di poter configurare in maniera corretta tutto il necessario allo sviluppo. Ragion per cui non solo copriremo questi argomenti, ma vedremo, in linea generale, come funziona il framework. Vi prometto che dalla lezione numero 2 faremo sicuramente cose più interessanti e “pratiche”. Ora cominciamo con la teoria.
Cos’è Ruby
Ruby è un linguaggio di programmazione che gira su framework Rails. E’ molto orientato agli oggetti ed è decisamente ispirato da linguaggi come Perl, Python, Lisp, Dylan e CLU. Questo è un estratto della definizione di Ruby su WikiPedia:
Ruby è stato concepito il 24 febbraio 1993 da Yukihiro Matsumoto, intenzionato a creare un nuovo linguaggio che bilanciasse una programmazione funzionale con programmazione imperativa. In pratica voleva un linguaggio che fosse più potente del Perl, e più orientato agli oggetti rispetto al Python.
E’ molto popolare in Giappone, fino all’arrivo del framework Rails. Da allora ha continuato a crescere in maniera esponziale ovunque.
Cos’è Rails
Rails è il famoso framework che lavoro sotto Ruby. La sua base utenti è in continua crescita. Sviluppato da David Heinemeier Hansson della 37Signals, è stato rilasciato come software open source nel Luglio 2004. Usa un’architettura MVC (Model View Controller). L’ultima release è la 2.1.0. Ci sono stati importanti cambiamenti nella v2.
Concetti base di Ruby on Rails
Ruby on Rails segue diversi principi per rendere il codice snello e pulito. Il primo di questi principi è un termine di programmazione di Agile, chiamato DRY (Don’t Repeat Yourself). Ovviamente ciò significa che il codice per una determinata funzione verrà scritto una solta volta. Per esempio, se serve che il codice svolga una determinata cosa, lo metteremo in un determinato posto ogni volta che servirà.
Il secondo concetto alla base di ROR è il CoC (Conventions Over Configuration). Questo significa che Ruby presume tantissimo, e spiega molto dei valori e delle funzioni che Ruby genera di default per noi. Invece di star lì a configurare ogni cosa, per ogni singolo progetto, Ruby lo farà automaticamente per noi. Inoltre, se abbiamo intenzione di realizzare qualcosa di non convenzionale, ci basterà bypassare sensibilmente i valori di default che RoR ha già configurato. Tutto ciò ovviamente ha come risultato molto meno codice da scrivere.
I vantaggi di Ruby on Rails
In questo momento Instant Rails è in esecuzione, e possiamo svolgere parecchie funzioni. Al momento ci servirà soltato:
Aprire una finestra Console
1) Clicchiamo sull’icona in alto a sinistra:
2) Vai su “Rails Applications” > “Open Ruby Console Window”
3) Ora abbiamo aperto una finestra console. Qui è possibile fare molte cose, quali la creazione di nuovi progetti, i controller, ed altre operazioni che vedremo in seguito. Ora useremo questa finestra per creare una nuova applicazione.
Creare una nuova applicazione
1) Ora scrivamo “rails prova”, dove “prova” è il nome della nostra applicazione. Il nome va scelto con cura, perchè sarà usato spesso in tutta l’applicazione. Dal momento che non faremo nessuna operazione particolare, allora il nome “prova” è più che adatto.
2) Una volta lanciato il comando, saranno creati tutti i file necessari all’esecuzione dell’applicazione.
3) In questo momento abbiamo generato un’applicazione Ruby on Rails.
Eseguire l’applicazione
1) Per eseguire la nostra applicazione, andiamo nuovamente su Instant Rails e clicchiamo nuovamente sull’icona in alto a sinistra.
2) Da qui, clicchiamo su “Rails Applications” > “Manage Rails Applications…”
3) Possiamo notare come Instant Rails ha all’interno già due progetti. “Cookbook” è una demo base delle funzionalità di Rails e vi consiglio caldamente di studiarla e una volta presa dimestichezza con Rails, date un’occhiata anche al codice sorgente. Resterete molto sorpresi dalla semplicità del tutto. Ora però clicchiamo sul checkbox alla sinistra di “prova”, e clicchiamo su “Start with Mongrel”. Al click ci sarà una notifica del Windows Firewall probabilmente, e possiamo tranquillamente selezionare sblocca. Comparirà una finestra console con alcune interessanti informazioni sull’ambiente in uso.
Quindi, in questo caso, possiamo visualizzare la nostra applicazione sulla porta 3000. Possiamo quindi aprire il browser e lanciare l’indirizzo 127.0.0.1:3000, e avremo la seguente pagina di defaul di Rails:
Ora possiamo iniziare a costruire la nostra applicazione.
COME FUNZIONA IL FRAMEWORK
L’architettura MVC
Rails gira sull’architettura MVC. Ciò significa che il codice di sviluppo è diviso in tre sezioni principali: il modello, la visualizzazione e il controller. In questa introduzione di Ruby on Rails scopriremo solo le parti base del controller.
Il Controller
Il controller è rappresentato dalla parte dell’indirizzo successivo all’url base. Per esempio, se abbiamo un controller denominato “learn”, è rappresentato dall’indirizzo 127.0.0.1:3000/learn. Per la creazione del controller va utilizzata, come visto in precedenza, la finestra console. Ora vediamo come creare un nuovo controller, chiamato “learn”:
1) Innanzitutto apriamo, come già abbiamo visto in precedenza, una nuova finestra console da Instant Rails (o dal relativo programma di installazione che avete usato).
2) Ora entriamo nella nostra applicazione “prova”. Per accedere, cambiare la directory in prova utilizzando il comando “cd prova” (cambio directory in prova).
3) Siamo entrati nell’applicazione, e dobbiamo accedere ad un script per generare il controller. Nella struttura della nostra applicazione “prova”, noterete la presenza della cartella “script”. E, all’interno di questa cartella, c’è un file “generate” che andremo ad usare per il nostro controller.
4) Ora, per creare il nostro controller “learn” digitiamo nella finestra
ruby script/generate controller learn
A questo punto la console genererà alcuni files. Potete controllarli da Risorse del Computer. I file più importanti sono il controller “learn”, che rappresenta solo uno dei file creati da Ruby; potete inoltre notare che è stata creata anche una vista “learn”.
A questo punto, come funziona un controller? Scopriamolo passo per passo:
Non preoccupatevi se al momento non rende molto l’idea. Nella prossima lezione vedremo nel dettaglio tutto il funzionamento dei controller. Per adesso conoscete come creare e dove risiedono i controller.