Tag Archives: ruby rails

Caratteristiche del framework Rails

Guida alla programmazione con Ruby

La filosofia sulla quale si basa Rails è rappresentata da tre concetti fondamentali:

  • Don’t Repeat Yourself (DRY);
  • Convention over configuration;
  • Agile development.

Don’t Repeat Yourself che tradotto letteralmente sta per non ripetere te stesso, vuole significare che le definizioni devono essere scritte una sola volta all’interno di un’applicazione.

Convention over configuration indica invece che se nella  programmazione vengono rispettate le convenzioni stabilite dal rails, non risultano più necessarie le configurazioni.

Infine il concetto di agile development (sviluppo agile) che ci ricorda quanto sia agevole lo sviluppo delle applicazioni web attraverso l’utilizzo del framework Rails, tutto questo grazie alla possibilità di riutilizzo del codice e della semplice predisposizione dei template, che una volta creati possono essere utilizzati quali modello per la realizzazione delle nostre pagine web.

rails frameworkRails utilizza un’approccio top-down per la realizzazione del codice permettendo di trasformare un progetto complesso in tanti piccoli frammenti di complessità minore e con la possibilità di sfruttare il lavoro di diversi sviluppatori che possono dedicarsi al singolo lavoro per poi assemblare il tutto.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Il Framework Rails

Guida alla programmazione con Ruby

Rails rappresenta un ambiente integrato per sviluppare applicazioni web, in esso sono contenuti tutti gli elementi indispensabili alla progettazione e realizzazione di siti web dinamici.

Grazie alle numerose librerie presenti nel Framework Rails, si rende facilmente gestibile la creazione di pagine web che consentano l’accesso ai dati contenuti in un database, ed allo stesso momento si rende possibile in maniera semplice ed efficace l’integrazione delle diverse tecnologie oggi a disposizione dei progettisti di applicazioni web.

Si tratta di un framework di nuova concezione progettato per rendere il lavoro del programmatore web quanto più agile possibile; i risultati ottenuti, nella comunità degli sviluppatori, sono stati tanti e tali da provocare un vero e proprio ciclone che ha spazzato via tutte le precedenti convinzioni e ha provocato accesi dibattiti in ogni parte del mondo.

rails frameworkLa comparsa del Framework Rails nel panorama web ha ispirato la nascita di progetti simili effettuati con differenti tecnologie. Si può tranquillamente affermare che Rails rappresenti la novità più rilevante comparsa negli ultimi anni nell’universo della programmazione Web.

Tutto questo è stato realizzato grazie ad algoritmi di programmazione che non presentano grandi novità rispetto a tutto ciò che altre piattaforme già avevano sperimentato.

Allora nasce naturale la domanda di quale possa essere il segreto del Framework Rails: presto detto le sue potenzialità si concretizzano nella volontà spinta agli estremi da parte degli sviluppatori di ridurre in maniera netta i tempi di sviluppo, facendo a meno di file di configurazione, ricorrendo quando possibile ad automatismi, utilizzando diffusamente i Domain Specific Language, tutto questo al fine di risparmiare del tempo prezioso da dedicare alla parte più importante di un progetto web e cioè alla stesura dei concetti di fondo.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

La programmazione ad oggetti in Ruby

Guida alla programmazione con Ruby

Abbiamo già specificato che Ruby è totalmente Object Oriented, questo si traduce nel fatto che in ruby tutto è un oggetto. In tale aspetto riesce a surclassare il linguaggio ad oggetti per eccellenza e cioè Java in quanto in ruby non esiste nessuna distinzione tra tipi base e oggetti, allo stesso tempo la programmazione orientata agli oggetti in ruby non risulta ne invasiva ne fastidiosa, e ciò è dovuto alla sua maggior purezza.

Una caratteristica particolarmente gradita dai programmatori Ruby è stata la possibilità di utilizzare i cosiddetti blocchi che rappresentano una feature non comune nei linguaggi più diffusi e che permettono di rappresentare diversi problemi, anche molto diversi tra loro, con modalità chiare e significative.

Il Ruby risulta amato, allo stesso modo, dai programmatori professionisti che ne apprezzano le caratteristiche più avanzate, e dai principianti in quanto si presenta particolarmente adatto ad essere appreso come primo linguaggio.

Infatti grazie alla sua semplicità, è possibile comprendere le nozioni di base della programmazione, senza doversi preoccupare di innumerevoli convenzioni e aspetti non strettamente legati alla realizzazione degli algoritmi numerici.

RUBYOS

Inoltre possiamo dire che Ruby si presenta efficacemente espressivo in quanto fornisce molte strutture dati e tipi builtin, che rappresentano quelli offerti dal linguaggio; esempi sono:

  • hash,
  • array dinamici,
  • regexp,
  • numeri interi di dimensione arbitraria.

Le classi in ruby presentano un’interfaccia molto dettagliata, che determina una semplicità nell’utilizzo nelle operazioni comuni.

Una caratteristica che ha determinato il successo di Ruby nel panorama mondiale della programmazione è stata la sua estrema portabilità; esistono versioni di Ruby per piattaforma Linux (suo ambiente naturale visto che in tale contesto è stato sviluppato), per sistemi operativi Unix-like, Mac OS, e Windows in tutte le sue versioni.

RUBYOS

La versatilità di Ruby si manifesta nella sua interezza ,dal momento che esiste una versione di Ruby anche per l’obsoleto sistema operativo con interfaccia orientata ai caratteri MS-DOS.

Caratteristiche del linguaggio di programmazione Ruby

Guida alla programmazione con Ruby

Le caratteristiche peculiari di Ruby lo rendono un linguaggio di programmazione soprattutto semplice, il suo utilizzo si apprende in pochi giorni, senza presentare grosse difficoltà grazie ad una sintassi snella e davvero pratica; in aggiunta presentando a corredo un numero davvero corposo di librerie incluse nella distribuzione ed integrabili con quelle installabili tramite RubyGems si rende possibile, come già anticipato  realizzare i nostri programmi in brevissimo tempo.

Ruby si presenta particolarmente dinamico, un esempio è fornito dal fatto che le variabili possono essere tranquillamente utilizzate senza la necessità di dichiararne il tipo, sarà allora l’interprete in grado di identificarle; tutto questo però senza perdere in precisione in quanto le operazioni non consentite tra tipi diversi provocheranno un errore, cioè non potrà mai accadere, in modo più o meno nascosto, che un valore di un certo tipo venga utilizzato come se fosse di tipo diverso (strong typing).

Grazie a questo un operazione del tipo 1+”2″ (somma di un numero e di una stringa) determinerà un errore di runtime (errore in fase di esecuzione), diversamente da linguaggi come php o perl che invece non permettono un controllo analogo.

In ruby è possibile manipolare le classi ed i metodi a runtime, cioè possono essere aggiunti, cancellati o modificati in fase di esecuzione. In questo modo molte delle cose che negli altri linguaggi rappresentano delle strutture complesse possono in ruby costituire dei semplici metodi; è altresì possibile aggiungere classi e metodi personalizzati, creando dei Domain Specific Language (DSL).

DLS

Un Domain Specific Language è un minilinguaggio adatto ad un problema specifico, l’ideale sarebbe avere un linguaggio per ogni scopo, ma senza il problema di doverlo ogni volta imparare da zero. D’altronde il cuore della programmazione è costruire degli strumenti che permettano di risolvere un problema, ed un linguaggio è lo strumento per eccellenza.

Ruby è perfetto per la costruzione di semplici DSL da utilizzare all’interno della propria applicazione, grazie alla sua sintassi ed alle sue funzionalità di metaprogrammazione.

Le origini del linguaggio Ruby

Guida alla programmazione con Ruby

Ruby rappresenta un linguaggio di scripting interpretato per la programmazione orientata agli oggetti, dove il termine interpretato sta a significare che un’applicazione Ruby sarà eseguita senza che la stessa necessiti preventivamente di essere compilata.

Il linguaggio Ruby è nato nel 1993 come progetto personale del giapponese Yukihiro Matsumoto (spesso chiamato semplicemente Matz), pertanto Ruby rappresenta il primo esempio di linguaggio di programmazione sviluppato completamente in oriente che è riuscito a guadagnare abbastanza popolarità in occidente.

Questo perché fino ad allora, in ragione di evidenti problemi dovuti alle differenze linguistiche che si manifestano anche e soprattutto a causa del set di caratteri totalmente diverso da quello adottato nella informatica internazionale, gli sviluppatori nipponici erano stati ghettizzati e quindi costretti ad utilizzare i prodotti che provenivano dall’altra parte del mondo per evitare di peggiorare lo stato di isolamento in cui imperversavano.

Grazie a Ruby questa tendenza è stata spinta nella direzione contraria, ed oggi possiamo affermare che numerosi progetti di rilievo in ambito internazionale siano stati scritti utilizzando la nuova piattaforma.

 Il linguaggio Ruby trae origini da linguaggi ad oggetti quali lo Smalltalk, da cui ha tratto la maggior parte delle sue caratteristiche, quindi il Lisp quale linguaggio funzionale, a cui si devono i blocchi, ed infine il Perl, da cui derivano la sintassi e l’espressività.

 lisp

Come già anticipato Ruby rappresenta un linguaggio interpretato, nel senso che per poter essere eseguito non necessita di una preventiva compilazione, come invece avviene per la maggior parte del linguaggi di programmazione, ma è sufficiente che sia presente un interprete che traduca le istanze e le trasformi in linguaggio comprensibile all’utente.

L’interprete è stato scritto in linguaggio C, rilasciato sotto doppia licenza, GPL e Ruby license, che rappresenta una sorta di licenza BSD ovvero una famiglia di licenze permissive per il software. Tutto questo per dire in parole povere che con Ruby possiamo farci tutto quello che vogliamo, anche se la cosa migliore che potremmo fare è contribuire alla crescita della piattaforma. La distribuzione di Ruby si trova attualmente alla versione 1.8.6 mentre si è in trepidante attesa per l’annunciata versione 2.0 che promette delle interessanti novità.

Il successo di Ruby è dovuto anche alla presenza di framework di successo per lo sviluppo di applicazioni web, come Nitro e Ruby On Rails che rappresentano degli ambienti integrati che permettono di realizzare interi siti con il minimo impegno offrendo una serie di librerie di codice.