Le applicazioni mobili che utilizzano informazioni prelevate da fonti remote devono sempre confrontarsi con lo stato della connessione del terminale.


Lo sviluppatore deve quindi prevedere il comportamento dell'app nel caso la connettività sia assente, avvertendo l'utente o prevedendo una gestione del caching.




Un metodo base è quello di verificare lo stato della connettività all'avvio dell'app:

Utilizzando navigator.network.isReachable verifichiamo se il dominio google.com è raggiungibile e, in caso contrario, notifichiamo il problema all'utente.

Ma cosa succede se la perdita di connettività avviene dopo l'apertura dell'app, e quindi dopo il controllo sopracitato? E' necessario quindi scrivere una procedura di controllo che controlli lo stato della connessione durante tuto il ciclo di vita dell'app.

Lo possiamo realizzare utilizzando gli eventi di PhoneGap online e offline, che vengono scatenati (appunto) rispettivamente quando il terminale riesce a raggiungere la rete e quando invece perde la connettività:


In questo caso, in qualsiasi momento avvenga un cambiamento nello stato della connettività del terminale, gli eventi verranno invocati e permetteranno di compiere le dovute operazioni (abilitare o disabilitare controlli, notificare l'evento all'utente ecc...).