Chi trova Rails trova un tesoro?

Photo Credit: Lego The Lord of the Rings

Chi trova Rails trova un tesoro?

Introduzione a Ruby on Rails 4 (parte 1)

Quando si parla di Ruby on Rails a chi sa già sviluppare applicazioni web, la domanda principale che si sente spesso pronunciare é:

Ma per quale assurdo motivo dovrei imparare un altro linguaggio di sviluppo?!

Questa domanda retorica si basa su una semplice verità: ogni linguaggio di sviluppo deve essere appreso e utilizzato proprio come una lingua straniera e ci può volere molto tempo, sudore ed impegno.

Per i programmatori il salto è ancora più difficile, perchè abbiamo del codice, montagne di codice già scritto in un altro linguaggio di sviluppo/framework… il mio tessoro!

Come possiamo rinunciare a tutto questo per passare nelle mani di uno sconosciuto? e… non posso stare dei mesi fermo per studiare Ruby (il linguaggio) e provare Rails (il framework) per capire che non fa per me… nel frattempo devo lavorare!

Il perché…

Una citazione sul sito ufficiale di RubyOnRails.org dice questo:

“Ruby on Rails è un passo avanti nel ridurre le barriere di ingresso alla programmazione. Applicazioni web potenti che in passato sarebbero state sviluppate in settimane o mesi possono essere prodotte in pochi giorni.” - Tim O’Reilly, fondatore di O’Reilly Media

Sicuramente è un affermazione ambiziosa… ma se fosse vero?!

Diamo un occhio a cosa è stato realizzato in Rails.

Alcuni nomi celebri

Sono stati realizzati con Rails. Sono nomi che non richiedono ne presentazioni ne spiegazioni, ma possono indicare le potenzialità di un linguaggio.

Agile

Rails è un framework che si sposa bene con la metodologia Agile. E’ vero, la flessibilità è data dal metodo e il metodo si può applicare a qualsiasi linguaggio di sviluppo, ma se il framework fosse particolarmente vicino a questa filosofia già nella sua ossatura di base?

A proposito, sicuramente si può fare sviluppo Agile anche con C# (ho di recente aperto un libro di solo 1000 pagine che ne parlava!)

Un nuovo standard

E’ vero che la quantità di codice e librerie scritte in Php, per esempio, è notevolmente superiore a quella scritta in Ruby, ma è anche vero che la qualità molte volte è più importante della quantità e in questo Rails ha definito un nuovo standard qualitativo.

Le applicazioni Rails ci guidano come i binari di una ferrovia verso un’applicazione MVC, mantenibile e solida già dalla creazione del progetto vuoto.

Rails non solo permette di essere veloci nello sviluppo, ma di seguire uno standard qualitativo a cui difficilmente rinunceremo, anche se dovremmo usare un linguaggio di sviluppo differente in futuro.

La comunità Php per esempio, ha “subito” gli effetti benefici di questo nuovo standard premiato dalla comunità e molti framework moderni adottano i principi vincenti ormai famosi grazie a Rails.

Facciamo un esempio.

Convention Over Configuration

Convention Over Configuration è un paradigma che semplifica notevolmente lo sviluppo.

Il principio di base è: configuri qualcosa solo se vuoi alternarne il suo funzionamento standard, se no ci pensa il framework.

Abbiamo due vantaggi:

  • La flessibilità di realizzare l’applicazione come vogliamo in ogni suo dettaglio.
  • Il modello standard che ci permette di non riscrivere tutte le volte quello che ormai è un funzionamento standard consolidato da un’esperienza collettiva molto maggiore della nostra singola esperienza.

La comunità e le gemme

La comunità Ruby sviluppa le Gemme, un’altro vero tesoro per Rails, con cui possiamo fare qualsiasi cosa ci venga in mente anche nello sviluppo web.

Non ci sono migliaia di community frammentate per ogni singolo framework, la comunità Ruby in definitiva è solo una, il modo di implementare le gemme nel nostro progetto è uno e le gemme sono pronte per l’uso nel nostro progetto Rails.

Il libro

Per chi volesse iniziare ad approfondire l’argomento il libro che consiglio di leggere è questo: Agile Web Development with Rails 4.

Pronti per iniziare?

Commenti