Dion Almaer (ajaxian.com)- Hot to take your app offline

Dion parla di Google Gears, la tecnologia che permette di portare offline dati e applicazioni web.

Parte dalla considerazione che in Palo alto si perde la connettività molto spesso. Portare l’applicazione offline può eliminare delle barriere, ma non solo. Portare le elaborazioni offline permette anche di aumentare la performance per l’online.

A Google si sono chiesti come portare le applicazioni offline senza risovere semplicemente i problemi di Google stessa; per questo Google Gears è stato rilasciato come open source (new bsd).

La filosofia su cui si basa può essere così sintetizzata:

  • usare lo stesso URL per applicazione online e offline
  • la transizione la versione online e offline dell’applicazione deve essere trasparente
  • dev’essere possibile usare dati locali anche se si è online
  • dev’essere disponibile a tutti su tutte le piattaforme

Google Gears è qualcosa di più rispetto a Ajax, ma i concessi sono tra loro simili: si tratta di fare per le applicazioni offline quello che XMLHttpRequest fa le per applicazioni web (per questo è simile, come concezione, a Ajax).

I componenti:

  1. LocalServer: che gira nel browser
  2. Database: un database relazionale “fully-searchable”, non file di testo
  3. WorkerPool: possibilità di gestire thread indipendenti dal browser

Database

Il database è creato usando SQLite. Su questa base sono stati aggiunti dei livelli di astrazione successivi.

GearsORM: gestire relazione tra oggetti del database come fosse Hibernate.

GearShift: gestire la migrazione di tanti database negli utenti quando si fanno cambiamenti: db migration come il rails.

Local Server

E’ semplicemente un mini server web che ascolta sulla porta 200 e 304.

Worker Pool

Risponde alla necessità di avere diversi thread di processo separati dal browser, e sicuri. In questo modo il Javascript gira in background, non nel contesto del browser.

Altro

E’ stata scritta un’estensione per criptare i dati salvati nel client. E’ stato aggiunta la ricerca full-text.

Questo intervento è stato scritto in live blogging dalla conferenza Future of Web Apps di Londra, il 3 e 4 Ottobre 2007. Leggi tutti gli interventi di Fucinaweb dal FOWA