Ruby e Ruby on Rails: scopriamoli nell’intervista a Claudio Marai

Dopo aver parlato approfonditamente di Django e Python, non potevamo fare un torto a Ruby e Ruby on Rails: eccoli spiegati dal nostro co-founder Claudio.

Qualche settimana fa ho scritto un articolo su Django e Python, due linguaggi di programmazione molto usati all'intero di DevInterface; oggi, invece, ti racconterò più in dettaglio Ruby e Ruby on Rails (dei quali avevamo accennato brevemente anche nell'articolo citato sopra), altri due pilastri della nostra realtà: per raccontarteli mi affiderò all'aiuto di Claudio, il nostro co-founder e project manager, a cui sottoporrò un'intervista sulla falsa riga di quella della scorsa volta con Stefano. Ruby-Ruby on Rails

Marco – Bene Claudio, iniziamo! Oggi tocca a te essere intervistato: per prima cosa presentati ai nostri lettori.

Claudio – Ciao Marco, mi chiamo Claudio Marai e sono co-founder di DevInterface insieme a Stefano Mancini. Sono appassionato di informatica da sempre, ed iniziai ad approcciarmi ad essa già dai tempi delle scuole medie. Quando venne l'ora di cominciare le scuole superiori, perciò, non ebbi alcun dubbio su quale istituto scegliere: il Liceo Informatico e Telematico Le Stimate di Verona. Durante le superiori, oltre ai linguaggi didattici insegnati nei corsi regolari, feci dei corsi extra per imparare i linguaggi Delphi e Cobol.

Continuai il cammino del programmatore anche all'Università di Verona: fu a quel punto che iniziai a spostare il mio focus sul mondo del web apprendendo PHP e Java, e nel frattempo collaborando allo sviluppo di alcuni progetti basati su Delphi.

Diventato dottore nel 2006, dopo un primo periodo in Cattolica Assicurazioni come assistente informatico, lavorai come consulente da Abaco GSA (poi divenuta ISI s.r.l.) per sviluppare una web app per il Ministero della Giustizia (a quel tempo programmavo in Java/J2EE, C# e Oracle). Successivamente, lavorai come consulente in progetti di online banking presso Unicredit per un ulteriore anno, sempre in ambito Java/J2EE.

Nel frattempo iniziai la mia carriera di freelance imparando ed utilizzando Ruby e Ruby on Rails. Questa fu una svolta molto importante perché Ruby on Rails sarebbe diventato il framewrok di riferimento per sviluppare le applicazioni in DevInterface che, come detto nell'intervista con Stefano, fondammo ad inizio 2011.

Marco – Spiegaci un po' cosa sono Ruby e Ruby on Rails, raccontandoci anche qualcosa sulla loro storia.

Claudio – Lo stesso discorso fatto parlando di Django e Python vale anche per Ruby e Ruby on Rails: il primo è un linguaggio di programmazione per applicazioni web, il secondo è il più importante web framework (ti rimando sempre all'articolo precedente dove ti spiego cos'è un web framework) basato su Ruby.

Ruby fu concepito nel 1993 da Yukihiro Matsumoto: la sua popolarità fu tale che, nonostante sia stato sviluppato in Oriente, riuscì a giungere anche in Occidente superando di fatto le inevitabili barriere linguistiche che hanno invece continuato a separare altri linguaggi dalla nostra realtà.

Il framework Rails invece è stato scritto da David Hansson, e viene distribuito dal canale ufficiale Ruby Gems. La peculiarità di Ruby on Rails rispetto ad altri frameworks, è data dal fatto che esso si prefigge di sviluppare applicazioni usando un quantitativo di codice minore.

Marco – Quali sono le app più conosciute scritte in Ruby e Ruby on Rails?

Claudio – Ci sono moltissime app sviluppate in Ruby e RoR, le più famose (solo per citarne alcune) sono:

  • Twitter (nelle sue prime versioni);
  • Basecamp;
  • Github;
  • Shopify;
  • Groupon;
  • Airbnb.

Marco – Abbiamo già menzionato nello scorso articolo le differenze tra Django e Python e Ruby e Ruby on Rails. Parliamo invece più in dettaglio dei vantaggi e degli svantaggi nell'uso di questi ultimi.

Claudio – Partiamo dagli svantaggi visto che sono molto pochi: come spiegava Stefano, Ruby è un linguaggio molto elegante e flessibile allo stesso tempo. Se programmo con Ruby posso fare una certa operazione in 100 modi diversi, e questa a mio avviso è una cosa molto vantaggiosa: mi piace molto sperimentare e trovare soluzioni differenti ad un determinato problema; solo in questo modo potrò capire qual è la più performante. Tuttavia, questo fattore può essere considerato anche uno svantaggio perché il codice può risultare parecchio complicato da capire, e di conseguenza il debug può essere difficile.

Passando ai vantaggi, direi che uno su tutti è la flessibilità: utilizzando il principio MVC (model-view-controller), riusciamo a destrutturare i dati e la logica (model), l'aspetto estetico (view) e il modo in cui l'applicazione interagisce con l'utente (controller) e separarli in aree ben definite che comunicano tra di loro, ma che verranno unite solo ad applicazione ultimata.

Ruby on Rails dal canto suo è un framework costantemente aggiornato, che adotta rapidamente le novità tecnologiche: ad esempio i moduli per l'integrazione con sistemi di terze parti (Facebook, Twitter o altri social) seguono a ruota gli aggiornamenti di tali piattaforme, così sono sempre disponibili in tempi molto veloci. Ciò è possibile perché, essendo un framework open source, vanta una community molto attiva a livello mondiale. Ultimo ma non per importanza, RoR si basa fortemente su un approccio di tipo Convention over Configuration: seguendo alcune semplici convenzioni, si possono ridurre al minimo i file di configurazione del prodotto.

Marco – Per concludere: Stefano nello scorso articolo diceva che dalla nascita dell'azienda abbiamo sviluppato ben 40 app, 10 delle quali in Django/Python. Il restante le abbiamo prodotte tutte quante con Ruby e Rails?

Claudio – Esattamente, essi sono i linguaggi che usiamo di più in assoluto, infatti abbiamo prodotto 3/4 delle nostre app tramite Ruby e Ruby on Rails.

Eccoti svelate tutte le nostre carte: con questo ed il precedente articolo ti abbiamo spiegato in modo completo come utilizziamo le nostre tecnologie. Questo articolo va ad integrare inoltre quelli della categoria “Ruby", dove potrai capire ancora più approfonditamente in cosa consiste il nostro metodo di lavoro, e il motivo per cui esso porta così tanti vantaggi a noi ma soprattutto a te come cliente.

Se questo articolo ti è stato utile sei libero di condividerlo sui social e di seguirci su Facebook e Twitter.

Se vuoi scoprire di più riguardo alle tecnologie che utilizziamo o vuoi sviluppare un'applicazione con noi, contattaci.