Lo scopo di questo corso è quello di sviluppare applicazioni web originali, e il nostro strumento prescelto è il popolare framework per lo sviluppo web Ruby on Rails.

Impareremo ad utilizzare questo framework con la costruzione di un Social Network, che chiameremo "GIOIOSANDO". Il corso di Ruby On Rails, fornirà una dettagliata introduzione allo sviluppo di applicazioni web, incluse le basi di Ruby, Rails, HTML e CSS, Database, version control, testing e deploy.

D’altra parte, se sai già sviluppare applicazioni web, questo libro ti insegnerà velocemente tutti i concetti fondamentali del framework Rails, inclusi MVC, REST, i generator, le migration, il routing e l’embedded Ruby

L'intero corso sarà molto pratico, a parte le prime lezioni, e adotterà un approcio allo sviluppo web guidandoti nella costruzione di una applicazione web di crescente complessità, partiremo con una hello app minimale alla gestione degli utenti fino ad arrivare all'inserimetno di posts ed eventi.

Dal suo debutto nel 2004 Ruby on Rails è diventato rapidamente uno dei framework più potenti e popolari per lo sviluppo di applicazioni web dinamiche. Tutti, dalle start up alla buona alle grandi aziende hanno utilizzato Rails: GitHub, Shopify, Basecamp , Airbnb, Twitch, SoundCloud, Hulu, parte di Twitter, Square, Highrise e l’elenco continua. Esistono anche numerose agenzie di Web Development specializzate in Rails, come ENTP, thoughtbot, Pivotal Labs e Hashrocket, oltre a innumerevoli consulenti, addetti alla formazione e professionisti indipendenti.

Che cosa rende così speciale Rails? Innanzitutto, Ruby on Rails è al 100% open source, disponibile con la Licenza MIT permissiva e di conseguenza può essere scaricato e utilizzato gratuitamente. Inoltre, Rails deve gran parte del suo successo al suo design elegante e compatto. Sfruttando la malleabilità del linguaggio Ruby sottostante, di fatto Rails crea un linguaggio specifico di dominio per la scrittura di applicazioni web. Il risultato è che con Rails è semplice svolgere molte attività di programmazione web, come la generazione di HTML, la creazione di modelli di dati e il routing di URL, e il codice dell’applicazione prodotto è conciso e leggibile.

Rails inoltre si adatta rapidamente ai nuovi sviluppi nella tecnologia web e nel design del framework. Ad esempio, Rails è stato uno dei primi framework ad assimilare e implementare completamente lo stile architettonico REST per strutturare le applicazioni web (impareremo a farlo nel corso del tutorial). E quando altri framework sviluppano nuove tecniche valide, il creatore di Rails David Heinemeier Hansson e il Rails core team non esitano a incorporare le loro idee. L’esempio forse più sensazionale è la fusione di Rails e Merb, un web framework rivale di Ruby, che consente a Rails di sfruttare il design modulare, l’API stabile e le maggiori prestazioni di Merb.

Infine, Rails ha anche una community particolarmente entusiasta e diversificata. Il risultato sono centinaia di collaboratori open source, conferenze ad alto tasso di frequentazione, numerose gem (soluzioni indipendenti a problemi specifici, come la paginazione e il caricamento di immagini), vari blog informativi, un’infinità di forum di discussione e canali IRC.