Corso di Programmazione Web con Ruby on Rails

Corso Ruby On RailsSin dal suo debutto nel 2004, Ruby on Rails (o semplicemente Rails ) è velocemente diventato uno dei più potenti e conosciuti framework Model-View-Controller per lo sviluppo di applicazioni web. Negli ultimi due anni si è imposto nella comunità degli sviluppatori ispirando la nascita di tantissimi progetti analoghi realizzati con tecnologie differenti (e.g. Cake per PHP, Trails per Java, Turbogears e Subway per Python etc.). 

Rails ha introdotto una novità rivoluzionaria nell'ambito della programmazione Web: se prima della sua nascita per ogni nuova applicazione occorreva sostanzialmente iniziare da zero, oggi grazie a Rails si possono accorciare notevolmente i tempi di sviluppo (e anche decisionali) partendo da un progetto già estremamente ben impostato.

Aziende di diverse dimensioni, da piccole startup a nomi del calibro di Twitter, Disney, HuluPagine Gialle (la lista è in continua crescita) hanno adottato Rails con successo.

Cosa rende Rails così eccezionale? 

Innanzitutto, Ruby on Rails è al 100% open-source, disponibile sotto l'estremamente permissiva licenza MIT e da ciò consegue che è gratuito da scaricare e utilizzare. Rails deve molto del proprio successo al proprio design compatto ed elegante, che si regge sulla malleabilità del linguaggio Ruby sul quale è interamente basato, e che ha consentito di creare un linguaggio specifico (domain-specific language) per lo sviluppo di applicazioni web, automatizzando e semplificando al massimo molte delle attività ripetitive (e.g.la generazione del codice HTML, SQL e del routing necessario a gestire i modelli). Da ciò conseguono una più semplice adesione alle best practices (in particolare relative all'Agile Programming), un codice più conciso, leggibile e maggiori scalabilità/mantenibilità.

Rails inoltre si adatta velocemente agli sviluppi in fatto di design e tecnologie web. Per esempio,  è stato uno dei primi framework a implementare completamente l'architettura REST (che sarà trattata nell'ambito corso). E appena altri framework sviluppano con successo nuove tecniche vincenti, il creatore di Rails David Heinemeier Hansson e il Rails Core Team non esitano a inglobarne le idee migliori. 

Infine, Rails gode di una community estremamente entusiasta e diversificata: centinaia di open-source contributors, conferenze internazionali sempre molto seguite, un enorme numero di gemme (librerie che contengono soluzioni a specifici problemi quali, ad esempio, la paginazione dei contenuti e l'upload di immagini) una ricca varietà di blog informativi e contenuti didattici, una miriade di forum di discussione e così via.

Requisiti preliminari

E' necessaria una buona dimestichezza o almeno conoscenza base dei seguenti argomenti:

Durata del corso

120 ore.

Programma del corso

La didattica è incentrata sulla pratica: sin dalla prima lezione lavoreremo a una vera applicazione Ruby on Rails e la metteremo subito online. Una volta chiariti i concetti principali ci lanceremo subito nella realizzazione di un progetto più grande (e.g. un blog o una applicazione per la gestione di ticket o di un carrello per un sito di ecommerce o un social network semplificato) che, includendo tutte le funzionalità più comuni di una applicazione web, ci permetterà di studiare, approfondire e sperimentare subito sul campo le potenzialità di Rails e le principali metodologie di Sviluppo Web.

Da Zero a Deploy

  • Installazione di Ruby on Rails
  • L'ambiente di Sviluppo
  • Version Control con Git
  • GitHub, Bitbucket & co.
  • Deploy della prima demo app
  • Il workflow di sviluppo

Sviluppo di una Applicazione in Ruby on Rails

  • Lo Scaffolding
  • La Configurazione 
  • Il Model (Active Record)
  • Il Controller (Action Controller)
  • La View (Action View)
  • Il Routing
  • Le Sessioni
  • Inviare Email (ActionMailer)
  • L'internazionalizzazione (I18n)

Best Practices

  • Collaborare con un team di sviluppo: gli SCM, le repository e GIT  
  • I Test e il Test-Driven Development (TDD)
  • Cenni sul Behaviour-Driven Development (BDD)
  • Metodologie di Programmazione Agile (Agile Programming)
  • Il Refactoring
  • La Sicurezza

Attestato di Frequenza e Orientamento

Al termine del Corso ti sarà rilasciato un Attestato di frequenza e ti sarà indicato il corso e/o i contenuti più idonei a proseguire gli studi sulla base delle tue capacità, passioni e aspirazioni.