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. I campi obbligatori sono contrassegnati *


Potrebbe interessarti

Instant Developer Foundation e Cloud 24.5: la prima volta insieme

Il rilascio delle versioni 24.5 di Instant Developer Foundation e Instant Developer Cloud rappresenta una grande novità: è la prima occasione in cui le due...

Leggi Tutto

Integrazione di librerie JavaScript per generare barcode

Scegliere il modo giusto per generare barcode non è semplice e la decisione che prendi può fare la differenza in termini di costi e praticità.Potresti...

Leggi Tutto

Web API: il modo semplice per condividere database con Instant Developer Foundation

Utilizzare le Web API per condividere i propri database con altre applicazioni può essere a volte molto complicato. Ma, allo stesso tempo, le Web API...

Leggi Tutto

Rimani Aggiornato

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

    Presa visione dell'informativa (disponibile qui) resa da Pro Gamma SpA, acconsento al trattamento dei miei dati personali per l'invio di newsletter.*