Uno sguardo approfondito sul nostro framework web di riferimento e sul perchè lo abbiamo scelto.

Sono molte le ragioni che ci hanno portato a scegliere Ruby on Rails come strumento principale per la realizzazione di applicazioni web. Prima di imbarcarsi in una discussione su vantaggi e svantaggi, crediamo che sia utile una panoramica per spiegare cosa sia Rails.

Ruby on Rails

Rails è un framework che offre agli sviluppatori web una struttura per tutto il codice che scrivono, aiutandoli a costruire siti e applicazioni, astraendo e semplificando operazioni altrimenti ripetitive.

Rails è scritto in Ruby, un linguaggio di programmazione. Ruby sta a Rails come PHP sta a Symfony, o come Python sta a Django. Rispetto alle infinite alternative, l'appeal di Ruby risiede nella sua estrema eleganza e concisione.

Uno dei concetti chiave di Ruby on Rails (d'ora in poi semplicemente Rails) è conosciuto con il nome di convention over configuration. Ciò significa che il programmatore non ha bisogno di spendere ore a configurare file per poter iniziare a lavorare: Rails dispone di una serie di convenzioni preimpostate che aiutano ad accelerare i tempi di sviluppo, mantenendo una architettura solida e ben riconoscibile in tutti i progetti.

Perché preferiamo utilizzare Ruby on Rails

  • Il processo di programmazione è molto più veloce rispetto ad altri framework e linguaggi, in parte grazie alla natura orientata agli oggetti di Ruby e in parte per la vasta libreria di codice open-source riutilizzabile e di altissima qualità disponibile all'interno della comunità Rails.

  • Le convenzioni permettono agli sviluppatori muoversi con facilità tra differenti progetti che condividono la stessa struttura e le medesime pratiche di programmazione.

  • Il codice Ruby è estremamente leggibile, conciso e per lo più auto-documentante. Questo permette di aumentare la produttività, riducendo la necessità di scrivere documentazione separata o capire l'intento del programmatore che ci ha preceduto.

  • La community Ruby ha sviluppato una forte attenzione al testing: quasi tutte le librerie disponibili sono coperte da test, fornendo al programmatore strumenti comodi ed avanzati.

  • Rails e la stragrande maggioranza delle sue librerie sono open-source; a differenza di altri framework di sviluppo commerciali, non ci sono costi di licenza.

Potenziali limiti di Rails (e come superarli)

Non tutti gli hosting sono in grado di supportare Rails

Mediamente un applicativo Rails consuma più risorse rispetto, per esempio, ad uno scritto in PHP. Questo scoraggia i provider di fascia bassa nell'offrire supporto a questo ambiente. Non si tratta ovviamente di un problema: esistono molti hosting Rails-friendly, tra i più famosi Heroku ed EngineYard.

In alternativa, è possibile ospitare l'applicazione Rails su una VPS (Virtual Private Server) con Amazon EC2, Rackspace, o Linode. In questo caso avrete il pieno controllo del server, con la possibilità di destinare le risorse necessarie per l'applicazione.

Java e PHP sono molto più utilizzati e il numero di sviluppatori è più alto

Il numero di sviluppatori Ruby cresce di anno in anno: sempre più persone passano a Ruby da altri linguaggi di programmazione. La community Ruby si differenzia dalle altre anche per l'enorme quantità di codice open source disponibile. Al momento della scrittura di questa pagina, sono presenti 93.781 librerie che è possibile sfruttare per migliorare la vostra applicazione.

Prestazioni e scalabilità

Ci sono spesso preoccupazioni sul fatto che le applicazioni Rails non siano veloci come quelle scritte in Java od altri linguaggi. Ruby non è tra i linguaggi di programmazione più performanti che ci siano, questo va detto, ma la realtà dei fatti è che per la maggior parte delle applicazioni, questo non è un reale problema.

Ci sono molte organizzazioni di alto profilo che si basano su Rails per realizzare i loro siti: AirBnB, Pagine Gialle, Groupon, e Gov.uk per citarne alcuni. Ognuna di queste realtà ha scelto Rails non tanto per le sue prestazioni (che comunque permettono progetti di queste dimensioni), quanto per la sua capacità di realizzare applicativi web in una frazione del tempo rispetto a quanto necessario con altri framework.

Per concludere

Qualsiasi scelta tecnologica porta con sé vantaggi e svantaggi: ciascun framework e linguaggio è ottimizzato su uno specifico caso d'uso e non esiste un singolo strumento in grado di soddisfare ogni contesto.

Cantiere Creativo ha scelto Ruby on Rails, preferendo una drammatica riduzione dei tempi di sviluppo (e quindi dei costi), rispetto alle performance di altri linguaggi che necessitano di maggiore tempo per arrivare al traguardo.

Siamo fermamente convinti che preoccuparsi di questioni di performance con troppo anticipo porti con sé inutili sprechi: in piena ottica Lean, troviamo che sia prioritario verificare il prima possibile la ricezione dell'idea da parte degli utenti, adattandola e modificandola in tempi rapidi, concentrandosi solo successivamente su eventuali ottimizzazioni. Prima di spendere il budget per migliorare le performance, è bene essere sicuri che il progetto funzioni e che ne valga la pena capendo, dati alla mano, quali siano i punti critici su cui lavorare.

Vuoi sapere come lavoriamo?Il nostro metodo

Made with Middleman and DatoCMS, our CMS for static websites