Índice:
Definição - O que significa Web Workers?
Web workers é uma nova interface de programação de aplicativos desenvolvida para HTML5 que permite que os processos de software sejam executados nos encadeamentos em segundo plano. Trabalhadores da Web são criados no cliente. Eles são executados paralelamente aos processos responsáveis pela interface com o usuário e são criados de maneira incomum. Uma vez criados, os trabalhadores da Web podem se comunicar com o criador pai enviando mensagens para manipuladores de eventos especificados da interface do usuário definida pelo pai.
Trabalhadores da Web são tecnicamente conhecidos como API de trabalhadores da Web. A maioria dos principais navegadores (exceto o Internet Explorer 9) oferece suporte à funcionalidade.
Techopedia explica Web Workers
A API de trabalhadores da Web especifica dois tipos de trabalhadores - o trabalhador dedicado e o trabalhador compartilhado. O trabalhador dedicado é o mais simples; Ele foi projetado para executar e concluir algum tipo de tarefa. Um exemplo pode ser um relógio atualizado na tela do usuário. A tarefa dedicada é acionada em segundo plano, atualiza o relógio e termina.
Um trabalhador compartilhado é mais complicado, pois tem a capacidade de se comunicar respondendo por meio de uma função de manipulador de eventos. Um exemplo pode ser a validação do endereço do usuário e das informações do telefone em uma tela de registro. Cada parte dos dados deve ser verificada. Quando os resultados são concluídos, eles são entregues à página, para que ele saiba que todos os dados do usuário são válidos e que pode continuar com o processo de registro.
Os trabalhadores da Web têm muitas promessas para melhorar a experiência do usuário de programas baseados na Web. A velocidade com a qual uma tela do navegador pode ser atualizada aumenta significativamente, porque agora existem vários processos fazendo a atualização.
No entanto, ainda existem algumas coisas que precisam ser resolvidas. Primeiro, a segurança e a simultaneidade de threads podem ser um problema. Lembre-se, esses são processos do lado do cliente que estão realmente usando servidores Web de back-end para chamar threads no nível do SO no cliente. Por definição, não há muita padronização aqui.
Em segundo lugar, um trabalhador da Web recebe um URI (Uniform Resourse Identifier) do script para executar quando ele é criado. Esses URIs devem passar na política de mesma origem que foi desenvolvida em resposta a preocupações de segurança do lado do cliente, embora exista atualmente algum desacordo entre os fornecedores de navegadores quanto à necessidade de esses URIs passarem no mesmo teste de detecção.
Finalmente, os pacotes de informações passados para os trabalhadores da Web compartilhados devem ser serializados, o que pode ser um processo lento. Em algum momento, a eficiência do uso de um trabalhador da Web deve ser compensada com o tempo de processamento da serialização.