2011-09-05 3 views
6

Sto lavorando a un'applicazione mobile che deve eseguire il polling di un servizio Web a intervalli regolari (utilizzando setInterval). Ho realizzato un prototipo basato su HTML5, ma quando il browser mobile va in background, l'esecuzione di javascript è sospesa.Operatori Web nei browser per dispositivi mobili

Ho esaminato la creazione di app native per iOS e Android. Su iOS questo può essere fatto chiedendo una quantità limitata di tempo di elaborazione quando l'applicazione entra in modalità background. Su Android suppongo che dovrei fare un servizio che viene avviato e fermato dall'applicazione.

Tuttavia, vedo che in Safari su iOS5, il supporto per i web worker è tornato, e che questo è già stato supportato nel browser Android per un po '. Questo mi fa meraviglia, posso usare i web worker per eseguire javascript nei browser mobili quando sono in background?

risposta

2

La risposta è no.

Purtroppo le applicazioni in background con tecnologie HTML5 non sono ottimali per i dispositivi mobili. Non solo i browser mobili sospendono la pagina in modo aggressivo quando è in background, ma possono anche uccidere l'intero browser (scheda) se si sentono così. Se hai o non hai dipendenti del web non influisce su questo.

Anche l'esecuzione di applicazioni native su sfondo non è banale su questi sistemi operativi.

Quello che suggerisco è che

  • estratto sfondo lavoratore part dalle vostre JS e scrivere in lingua madre (Java, iOS)

  • Utilizzo PhoneGap ecc involucro analoga per la tua applicazione UI