Displaying articles with tag

Guide, tutorial e libri per iniziare con Rails 2.0

Posted by reggie, Wed Jun 11 08:00:00 UTC 2008

Prima di iniziare

Quando mi sono affacciato a Rails per la prima volta, circa 3 anni fa, seppure il framework promettesse molto bene, era piuttosto semplice e si poteva leggere la documentazione delle API in qualche giorno senza nessun problema. In questi anni Rails è migliorato molto, e le funzionalità offerte hanno continuato ad evolversi giorno dopo giorno, fino alla versione attuale, la 2.1.

Se da una porte possiamo dire che Rails ora è adatto non solo per piccoli e medi progetti (non è più quel giocattolo che alcuni volevano paventare), devo anche ammettere che il suo utilizzo non risulta essere più così immediato come lo era il giorno che l’ho scoperto. Con questo non voglio spaventare i nuovi arrivati, anzi, preparatevi a programmare divertendovi, ma voglio semplicemente far capire che avere delle buone risorce che ci guidino è diventata una necessità.

Sono appena arrivato a Rails, è possibile avere materiale in italiano.

La risposta breve è non prendete un manuale in italiano su Rails, semplicemente eprchè quelli attualmente presenti non sono aggiornati.

La risposta lunga è che seppure la cosa non mi esalti, attualmente le risorse in Italiano da cui partire non sono molte. Per quanto riguarda il web, c’è un ottimo lavoro fatto da Gabriele Renzi su HTML.it, ma purtroppo non risulta essere aggiornato alle ultime versioni di Rails. Lo consiglio come un’utile introduzione, ma non come un riferimento. Altre documentazioni complete sul web non ne conosco (se ci sono mettetele pure nei commenti), ma è bene ricordare che in molti blog si possono trovare ottimi articoli.

A livello cartaceo l’unico lavoro in Italiano dedicato solamente a Rails risulta essere Sviluppare Applicazioni web con Rails, la traduzione del primo libro che sia mai uscito per Rails. Purtroppo, nonostante sia stato a mio avviso un ottimo libro (sottolineo sia stato), ora la sua utilità non è molta. Il testo ci può spiegare molte cose, come la filosofia che sta alla base di Rails, un introduzione ad ActiveRecord e ad Ajax, e altro ancora, ma ha almeno due pecche. La prima sta nel fatto che utilizza funzionalità deprecate (ad esempio lo scaffold generator, ha adesso una sintassi leggermente diversa), mentre la seconda, più importante, è che leggendo quel libro potremmo usare non più del 50% delle funzionalità che Rails oggi ci offre.

Giusto per correttezza, e per dare merito ai lavori scritti o tradotti in Italiano, voglio citare altri due libri, che seppure trattino principalmente Ruby, introducono in alcune sezioni Rails. Per i principianti non sono molto consigliati, ma sono sicuramente una buona lettura per chi vorrà approfondire. Il primo libro Ruby per Applicazioni Web di Marco Ceresa è un puro made in Italy ed è caldamente consigliato, mentre il secondo libro Ruby Cookbook con Elementi di Rails è una traduzione del libro pubblicato dalla O’Really.

Tutto questo per dirvi che se volete restare aggiornati, dovete leggere in inglese. Nessun ma e nessun se. Lo so che per molti questo risulta essere un bel problema (ci sono pure io nella lista), ma vista la velocità con cui i cambiamenti avvengono in Rails, è difficle poter acquistare una traduzione in italiano ed aspettarsi che dopo un paio d’anni sia ancora valida. Dobbiamo metterci in testa che anche la documentazione che abbiamo sottomano deve andare a pari passo con lo sviluppo del framework, o non potremo mai sfruttarlo al massimo!

Mi hai convinto, leggerò testi in inglese. Ma non ho ancora capito da dove iniziare?

Per chiunque voglia una piccola introduzione a Rails, un buon articolo introduttivo è più che sufficiente. Accompagnamolo poi a qualche esempio che ci dimostri quello che possiamo fare, e non torneremo più indietro. Nel proseguo andremo quindi quindi ad elencare due risorse che il web ci offre gratuitamente, e che non possiamo perderci.

Ho sentito parlare di Rails, e vorrei capire che cos’è.

Come introduzione a Rails per chi ci si avvicina la prima volta, la piccola serie creata su A List Apart è un must. Il primo articolo della serie è un ottima introduzione in quanto si mette nei panni di una persona che si avvicina a Rails per la prima volta, magari arrivando da altre tecnologie come PHP o Java, e che è curiosa di capire come mai si parli così tanto di questo framework. Vengono spiegati i principi che ne stanno alla base, i falsi miti, e le linee guida per una installazione base, La serie prosegue poi con il secondo articolo dove l’autore cerca di convincere il lettore elencando alcune delle applicazioni più famose basate su Rails, i vantaggi che si hanno usandolo, e scrivendo qualche riga di codice di esempio.

Interessante, ho voglia di vedere altro in pratica.

Se siete stati stuzzicati da questi due articoli, adesso quello che vorrete fare è sicuramente vedere del codice in azione, vedere che cosa sia possibile fare con Rails, per convincerci sempre più che Rails sarà la scelta giusta per la vostra prossima applicazione. Se è così il sito perfetto è RailsCasts, creato da Ryan Bates, dove potete trovare ogni settimana screencast aggiornati. Senza attendere più di 5 minuti vi troverete a vedere esempi reali che fanno vedere la semplicità nell’uso di Rails, la sua velocità, e la sua bellezza. Non è un caso che per l’annuncio di Rails 2.1 siano stati scelti alcuni screencast per descrivere le nuove funzionalità introdotte.

Un’altra fonte gratuita di screencast meno conosciuta, ma degna di nota, è Ruby Plus, la quale sforna video ad un ritmo impressionante (ben 80 dallo scorso dicembre). A differenza di RailsCast, questo sito tratta argomenti più avanzati, e meno Rails related, ma è comunque da tenere in considerazione per il grande lavoro che ci sta dietro.

Wow… Mi avete convinto. Adesso me lo voglio imparare seriamente.

Se ritenete valido spendere altro tempo per approffondire Rails, è arrivato il momento di prendere un bel libro, in inglese. Fino a qualche settimana fa l’unico libro che mi sarei sentito di consigliare per imparare Rails era The Rails Way di Obie Fernandez. Purtoppo non è quella che si definisce una lettura leggera (sono poco più di 900 pagine), ma è un ottimo libro, è aggiornato a Rails 2.0, e descrive come sia possibile usare lo stile REST nelle nostre applicazioni. Le revisioni che sono state scritte nel web sono tutte ottime e posso confermarle di persona. L’unica pecca è che, per chi si avvicina a Rails per la prima volta, il testo potrebbe essere un pochino difficile da digerirsi, ma assicuro che dopo averlo letto, avrete una piena padronanza del framework.

Fortunatamente ora abbiamo anche un’altra scelta. Infatti un paio di settimane fa i Pragmatic Programmers hanno lanciato in beta la terza edizione di Agile Web Development with rails, il primo libro su Rails che sia mai stato pubblicato. Il suo obiettivo è quello di coprire tutte le nuove features di Rails fino alla versione attuale, mantenendo la lettura semplice, caratterisìtica fondamentale del testo. L’unico problema è che la pubblicazione della versione cartacea è prevista per l’autunno, ma per chi lo volesse (e so che nessuno avrà problemi a farlo ;-) ) si può già prendere il PDF, ed ricevere aggiornamenti man mano che aggiunte o correzzioni saranno effettuate.

Allontanandoci dalla stampa convenzionale, non possiamo non inserire PeepCode che nell’ultimo anno ha prodotto materiale di altissima qualità per tutta la comunità Rails. In questo sito potete trovare i migliori screencast su Rails (e probabilmente del web) della durata media di circa un’ora, al prezzo di 9$ (meno di 6 euro). Questi screencast, oltre a fornire un’ottima introduzione, e a farvi vedere i risultati che si possiìono ottenere con un riscontro visivo, vi permetteranno di andare in profondità in molti temi come REST, RSpec e molto altro. Peepcode non fa solamente video, anche se credo sia conosciuta principalmente per questi. Ultimamente infatti possiamo trovare degli ottimi PDF, che affrontano argomenti caldi come sicurezza e Plugins. PeepCode è la prima scelta nel momento in cui si voglia avere materiale super aggiornato.

Non trattando materiale cartaceo PeepCode ha una dinamicità mai vista prima. Ogni mese si trova qualcosa di nuovo, e quanto trattato è sempre di grande attualità ed interesse. PeepCode ha poi tradotto il Rails 2.0 PDF in Italiano. Nonostante l’iniziativa sia da lodare e ci fa capire quanto siano in gamba i ragazzi che ci stanno dietro, la guida è piuttosto avanzata, poichè tratta le novità presenti in Rails 2.0. Non è quindi una guida che spieghi passo passo come usare Rails, ma piuttosto un’elenco di tips. Ad ogni modo un’occhiata è d’obbligo.

Sempre restando sugli screencast, i Pragmatic Programmers hanno appena lanciato un nuovo servizio che promette essere molto interessante. Nonostante il materiale attualmente presente non sia molto, la qualità sembra esserci e la fama degli autori non può che far sperare in bene. Non resta quindi che vedere nei prossimi mesi come il progetto evolverà.

Un piccolo Riepilogo finale.

Per chi non avesse il tempo di leggersi tutto l’articolo ecco qui un veloce riepilogo.

  1. Introduzione e screencast su internet (for free)
    1. La prima parte e la seconda parte per un introduzione semplice e diretta di A List Apart.
    2. RailsCasts e RubyPlus per dei video semplici e diretti per apprezzare al massimo le potenzialità di Rails
  2. Testi consigliati
    1. Agile web Development with Rails aggiornato alla terza edizione (al momento è in beta, qundi potrebbe essere non completo)
    2. The Rails Way per chi vuole un libro completo ed aggiornato
    3. PeepCode per screencasts di livello professionale e per PDF sempre aggiornati

Ora non ci resta che prenderci un pochino di tempo e leggere il materiale che abbiamo scelto. Quello che posso dirvi è che non sarà tempo perso e che i risultati arriveranno presto. La comunità è sempre più ricca, la mailing list è sempre più attiva, e stanno nascendo nuove società che basano su Ruby e su Rails il proprio business. Non ci resta che partecipare alla festa.

Licenza

Questo articolo è coperto dalla licenza Creative Commons Attribution-NonCommercial-NoDerivs 2.5 Italy.

3 comments | Filed Under: FAQ Rails | Tags: