2011-09-05 23 views
6

Estoy trabajando en una aplicación móvil que necesita sondear un servicio web en un intervalo regular (usando setInterval). Creé un prototipo basado en HTML5, pero cuando el navegador móvil se queda en segundo plano, la ejecución de javascript se suspende.Web workers en navegadores móviles

Intenté crear aplicaciones nativas para iOS y Android. En iOS esto se puede hacer pidiendo una cantidad limitada de tiempo de procesamiento cuando la aplicación entra en modo de fondo. En Android supongo que tendré que hacer un servicio que se inicie y se detenga desde la aplicación.

Sin embargo, veo que en Safari en iOS5, el soporte de los trabajadores web está de vuelta, y que esto ya ha sido admitido en el navegador de Android por un tiempo. Esto me hace preguntarme: ¿puedo usar web workers para ejecutar javascript en los navegadores móviles cuando están en segundo plano?

Respuesta

2

La respuesta es no.

Desafortunadamente, las aplicaciones en segundo plano con tecnologías HTML5 no son móviles. No solo los navegadores móviles suspenden agresivamente la página cuando está en segundo plano, sino que también pueden matar a todo el navegador (pestaña) si así lo creen. Si usted tiene o no tiene trabajadores de la web no afecta esto.

Correr incluso aplicaciones nativas en segundo plano no es trivial en estos sistemas operativos.

Lo que te sugiero es que parte

  • Extracto de fondo trabajador fuera de sus JS y escribir en la lengua materna (Java, IOS)

  • Uso Phonegap etc. envoltorio similar para su aplicación UI

Cuestiones relacionadas