Instant Developer

Tips&Tricks Instant Developer Foundation: la sincronizzazione più veloce del west

| 26 Marzo 2013 | Giuseppe Lanzi
speedy Instant Developer

L’esperienza utente è la caratteristica più importante di un’app di successo. Essa viene percepita come buona quando è funzionale, semplice e veloce. Per quanto riguarda la velocità, c’è un trucchetto che voglio suggerirvi per ottimizzare la sincronizzazione dati fra app mobile e server centrale.

Senza alcuna operazione aggiuntiva, il framework di Instant Developer riduce al minimo la quantità di dati scambiati con il server, operando in modo differenziale e parzializzato. L’unico caso in cui si può dover aspettare è durante la prima sincronizzazione, quando il database del dispositivo è completamente vuoto e va popolato da zero. Ci sono 500.000 oggetti da sincronizzare? Allora il dispositivo riceverà dal server un XML con 500.000 nodi e per altrettante volte effettuerà gli inserimenti su SQLite.

In questo caso è possibile usare un metodo più rapido: invece di trasferire ogni singolo oggetto, durante la prima sincronizzazione è possibile farsi restituire dal server l’intero database in un unico file, da ripristinare sul dispositivo in un colpo solo. I passi dell’operazione sono questi:

  1. il dispositivo mobile svuota tutte le tabelle del database SQLite e poi ne effettua il backup su file con il metodo BackupDB;
  2. il dispositivo invia il file al server di sincronizzazione con UploadFile;
  3. il server effettua il restore del database vuoto con RestoreDB e lo popola con i dati che devono arrivare all’utente tramite le opportune query;
  4. il server esegue nuovamente il backup su file e risponde al dispositivo;
  5. il dispositivo mobile scarica il file contenente il database appena popolato ed esegue il restore.

E il gioco è fatto. Per darvi un’idea, nei casi in cui l’abbiamo usato questo metodo è risultato 10 volte più veloce di quello automatico.

So che molti di voi stanno pensando “facile a dirlo, ma come faccio a farlo?” ed è proprio questo che ho preparato un progetto di esempio per mostrarvi come fare.

Buon lavoro 🙂

Giuseppe Lanzi
Technical Support Manager
Mi occupo di assistenza e consulenza tecnica, dei corsi di formazione e dei sistemi rivolti ai clienti. Amo la tecnologia e ogni tipo di nuovo gadget, mi interesso di fotografia e prendo al volo ogni occasione di scoprire un nuovo gioco.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.


Potrebbe Interessarti

Instant Developer Foundation 22.5 e Fluid: il futuro comincia da qui

La versione 22.5 di Instant Developer Foundation rappresenta un passo tangibile verso il futuro di Instant Developer. Il nuovo motore grafico Fluid è infatti il...

Leggi Tutto

Webinar: Le novità di Instant Developer Cloud 22.5

Nel webinar sulle novità della release 22.5 di Instant Developer Cloud , Giuseppe Lanzi, responsabile dei reparti Customer Care e Systems e Paolo Giannelli, responsabile...

Leggi Tutto

Instant Developer Cloud 22.5: esperienze migliori per te e il tuo software

Instant Developer Cloud 22.5 è una versione progettata per una migliore esperienza di utilizzo da parte degli sviluppatori e di fruizione delle applicazioni per gli...

Leggi Tutto

Rimani Aggiornato

Iscriviti alla nostra newsletter per ricevere aggiornamenti su novità, eventi, release, webinar e tante altre notizie sui prodotti Instant Developer.