Abbiamo già dedicato una guida all'apprendimento delle basi del linguaggio Ruby. Possiamo pensare a questa seconda guida come al naturale prosieguo in cui dedicare però l'attenzione all'applicazione di Ruby negli ambiti Web e networking.
Dopo alcuni capitoli che non riguardano strettamente il Web, ma che trattano argomenti ad esso correlati, illustreremo le principali librerie per il networking sia a basso livello sia ad alto. Infine la parte più ampia riguarderà lo sviluppo di applicazioni Web. Esamineremo anche alcuni esempi pratici e familiarizzeremo con l'uso delle API dei principali servizi in circolazione, come ad esempio Yahoo, Flickr, YouTube e simili.
Anche se può sembrare strano per una guida dedicata a Ruby ed il Web, non parleremo di "Ruby on Rails". Questo perché abbiamo dedicato una guida apposita all'argomento, ma soprattutto perché abbiamo già molto da esplorare anche senza esaminare framework più o meno affermati.
La prima parte della guida introduce, quindi, alcune librerie molto potenti per il Web. Iniziamo con alcuni capitoli di "servizio" riguardanti un argomento fondamentale per lo sviluppo web: la gestione dei database. Tra i tanti la scelta è caduta su MySQL per la completezza, SQLite per la leggerezza e KirbyBase per la sua natura tipicamente "Rubyish". Affronteremo poi un rapido excursus sul networking e parleremo di alcune librerie che ci consentono di generare e manipolare in modo molto efficiente pagine Web e flussi di dati HTML. Vedremo come mettere in piedi piccole interazioni soluzioni client-server con poche righe di codice e come manipolare file di configurazione e dati XML.
Sfrutteremo questa conoscenza nella seconda parte del corso, dove mostreremo come interfacciarsi con i motori di ricerca e i principali servizi Web 2.0, come i servizi di Yahoo e di Google.
Cercheremo di essere molto diretti nel presentare le diverse soluzioni, mostrando molto codice e tanti esempi. Grazie all'elegante sintassi di Ruby, tutto sembrerà molto semplice, ma in realtà molte delle operazioni che svolgeremo richiederebbero uno sforzo e un numero molto maggiore di righe di codice su altri linguaggi.
Le librerie che utilizzeremo durante la guida saranno installate, quando è possibile, attraverso RubyGem
; si faccia riferimento alla guida precedente per maggiori dettagli.