Rails 2.1 dietro l’angolo
Dal lancio della versione 2.0 di Ruby on Rails a oggi lo sviluppo del framework web si è concentrato sull’introduzione di nuove funzionalità, migliorie e correzioni di bug fix che non cambiano le carte in tavola per chi utilizza quotidianamente Ruby on Rails; se la versione 2.0 è stata una linea di demarcazione netta rispetto alla versione precedente con alcune soluzioni deprecate non più supportate, spinta verso il paradigma REST, esclusione del modulo per Web Service SOAP dal pacchetto base, esclusione del generator per lo scaffold, la migrazione dalla vesione 2.0 alla versione 2.1 si presenterà decisamente meno chiassosa. Da oggi è possibile scaricare la versione 2.1 RC1 di Ruby on Rails; questa versione non è destinata all’utilizzo in produzione ma ci permette di esplorare le novità che saranno disponibili con il rilascio definitivo della nuova versione.
Come accedere alle gemme
Da qualche tempo l’intero progetto Rails e i relativi plugin sono stati migrati da una soluzione SVN con Trac a Git e Ligthouse; per accedere alla Release Candidate 1 della nuova versione di Ruby on Rails è quindi necessario munirsi di un client Git ed eseguire pull da GitHub; Railscast ha preparato a proposito Gitting Rails 2.1 RC1, una guida visuale che spiega passo passo come iniettare l’RC1 di Rails 2.1 all’interno di un proprio progetto Ruby on Rails.
Novità principali
La futura versione di Ruby on Rails introdurra alcune caratterisiche evolute che in linea con l’approccio che Rails ha tenuto fino dalle sue origini saranno opache o ben integrate con le funzionalità già esistenti:
- Gestione semplificata del timeout per ActiveResource: nell’architettura a web service due applicazioni sono in comunicazione fra di loro mediante un protocollo di rete e si scambiano dati con un ciclo più o meno complesso di richieste e risposte. Quando a fronte di una richiesta della vostra applicazione la risposta si fa attendere, l’applicazione entra in uno stato di stallo per l’attesa della risposta e non intraprende alcuna azione fino a che non considera terminata il proprio ciclo richiesta / risposta. la gestione semplificata del timeout per ActiveResource permetterà di prevenire e gestore queste situazioni così da garantire una maggiore robustezza dell’applicazione
- Page Caching condizionale: il Page Caching è il sistema di cache introdotto fin dalle prime versioni di Ruby on Rails che consiste nel conservare una copia in HTML della pagina generata e considerarla cache fino alla sua scadenza. Sarà possibile specificare una condizione che deve essere verificata perché il Page Caching abbia luogo con una sintassi del tipo
caches_page :action, :if => Proc.new { |c| condizione } - Differenziazione fra
smallinteintper l’adattatore MySQL: per attributi dichiarati come:integeril processo di migrazione procede a scegliere il datatpe migliore fra i due in funzione del limite imposto; ad esempiot.integer :foo, :limit => 2produrra in SQLsmallint(2)e nonint(2)come capita attualmente - Parsing automatico del contenuto JSON: il contenuto di una richiesta in formato JSON viene automaticamente trasformato nell’hash corrispondente
- Sintassi migliorata per l’alterazione delle tabelle nelle migration: il processo di database refactory evolutivo potrà contare su una sintassi più agile:
change_table :posts do |t| t.add_timestamps # aggiunge i magicfield :created_at e :updated_at t.add_belongs_to :goat # aggiunge una colonna per la referenza esterna t.add_string :name, :email, :limit => 20 # aggiunge una nuova colonna t.remove_column :name, :email # rimuove due colonne con un comando t.rename :new_name # rinomina la tabella end
Come mantenersi informati sullo sviluppo di Ruby on Rails
Oltre alla consultazione del blog ufficiale di Ruby on Rails, su cui vengono riportati i rilasci ufficiali e le nuove versioni, è possibile controllare l’andamento dei ticket e dei task relativi al progetto da Lighthouse (atom) o leggere le reazioni degli utenti tramite twitter con un apposito filtro per Rails 2.1 (feed). Nonostante i progressi che si susseguiranno da qui all’uscita ufficiale di Ruby on Rails 2.1 è bene considerare le versioni di sviluppo come non stabilie da non utilizzare per applicazioni in produzione; nella prima giornata di rilascio della RC1 sono stati riscontrati problemi con il client mem cache e con l’avvio di applicazioni anche semplici se non adeguatamente configurate.
13 Maggio 2008
Categorie: Ruby on Rails, Ruby, Uncategorized
Articoli simili
- HTML.it apre a Ruby e Ruby on Rails
- RailsRumble 2008: prime notizie
- Rails 2.1 disponibile
- Rails 2.1 e ottimizzazione Active Record
- Ruby on Rails 2.0: le novità