Sincronizzazione alla velocità della luce

by Matteo Sirri on 8 ottobre 2013

La capacità di operare offline è forse la caratteristica più importante per un’app mobile e per ottenerla è necessario sincronizzare i dati tra il server e il dispositivo. Come vi dicevo qualche tempo fa, Instant Developer semplifica molto lo sviluppo di questa funzionalità: basta usare un componente di classi Document Oriented condiviso tra applicazione server e applicazione client e la sincronizzazione si riduce all’implementazione di qualche evento.

Ci pensa la parte javascript del framework a tenere sempre aggiornato il database SQLite in modo totalmente trasparente all’utente. L’unico inconveniente è che, come nella maggior parte delle app mobile, l’operazione blocca l’interfaccia utente: anche se nella maggior parte dei casi non è un problema, con una quantità consistente di dati da trasferire e senza ottimizzazioni da parte dello sviluppatore, il funzionamento standard potrebbe richiedere anche un’attesa di diversi minuti.

Qualche mese fa vi abbiamo mostrato una possibile strada per velocizzare la sincronizzazione: popolare il database lato server per poi ripristinarlo lato client. Ma la soluzione proposta ancora non ci soddisfaceva: volevamo di più. Così abbiamo pensato ad un nuovo tipo di sincronizzazione gestita dalla parte nativa dell’applicazione.

La nuova sincronizzazione nativa porta con sé molti vantaggi:

  • è più veloce rispetto a quella javascript;
  • è trasparente allo sviluppatore e non occorre modificare il codice;
  • può funzionare anche in modalità asincrona.

Questa nuova feature è attiva per default nelle applicazioni offline compilate con Instant Developer 12.5 e si può disattivare tramite la proprietà SyncService.NativeSync. Per sfruttarla nella vostre app non è necessario niente di più che ricompilarle con la nuova versione. L’unico inconveniente è che se volete usare Caravel dovete aspettare il rilascio sugli store della versione 2.5, ma potete stare tranquilli perché avverrà a breve.

Non siete curiosi di ricompilare le vostre app per vedere quando sono più veloci?

Leave a Comment

Previous post:

Next post: