Definición: ¿Qué significa Web Workers?
Web Workers es una nueva interfaz de programación de aplicaciones que se está desarrollando para HTML5 y que permite que los procesos de software se ejecuten en subprocesos en segundo plano. Los trabajadores web se crean en el cliente. Se ejecutan en paralelo a los procesos responsables de la interfaz de usuario (UI) y los crean de manera inusual. Una vez creados, los trabajadores web pueden comunicarse con su creador padre enviando mensajes a controladores de eventos específicos de la interfaz de usuario definida por el padre.
Los trabajadores web se conocen técnicamente como API de trabajadores web. La mayoría de los principales navegadores (excepto Internet Explorer 9) admiten esta funcionalidad.
Techinfo explica los trabajadores web
La API de trabajadores web especifica dos tipos de trabajadores: el trabajador dedicado y el trabajador compartido. El trabajador dedicado es el más simple; está diseñado para realizar y completar algún tipo de tarea. Un ejemplo podría ser un reloj que se actualiza en la pantalla de un usuario. La tarea dedicada se activa en segundo plano, se actualiza el reloj y finaliza.
Un trabajador compartido es más complicado porque tiene la capacidad de comunicarse respondiendo a través de una función de controlador de eventos. Un ejemplo podría ser la validación de la dirección del usuario y la información del teléfono en una pantalla de registro. Cada dato debe ser verificado. Cuando los resultados están completos, se entregan a la página, para que sepa que todos los datos del usuario son válidos y pueda continuar con el proceso de registro.
Los trabajadores web son muy prometedores para mejorar la experiencia del usuario de los programas basados en web. La velocidad con la que se puede actualizar la pantalla de un navegador aumenta significativamente porque ahora hay múltiples procesos que realizan la actualización.
Sin embargo, todavía quedan algunas cosas por resolver. Primero, la seguridad y la simultaneidad de los subprocesos pueden ser un problema. Recuerde, estos son procesos del lado del cliente que en realidad utilizan servidores web back-end para llamar a subprocesos a nivel de sistema operativo en el cliente. Por definición, aquí no hay mucha estandarización.
En segundo lugar, a un trabajador web se le pasa un identificador de recurso uniforme (URI) del script para ejecutarlo cuando se crea. Estos URI deben aprobar la política del mismo origen que se ha desarrollado en respuesta a las preocupaciones de seguridad del lado del cliente, aunque actualmente existe cierto desacuerdo entre los proveedores de navegadores en cuanto a si estos URI deben pasar esta misma prueba de rastreo.
Finalmente, los paquetes de información que se devuelven a los trabajadores web compartidos deben serializarse, lo que puede ser un proceso lento. En algún momento, la eficiencia de usar un trabajador web debe compensarse con el tiempo de procesamiento de la serialización.