Trabalhadores da web

Definição - o que significa Web Workers?

Web workers é uma nova interface de programação de aplicativo desenvolvida para HTML5 que permite que processos de software sejam executados em threads de fundo. Os Web workers são criados no cliente. Eles são executados paralelamente aos processos responsáveis ​​pela interface do usuário (IU) e são criados de maneira incomum. Depois de criados, os Web workers podem se comunicar com seu criador pai, enviando mensagens para manipuladores de eventos especificados da IU definida pelo pai.

Os Web workers são tecnicamente conhecidos como API dos Web workers. A maioria dos navegadores principais (exceto Internet Explorer 9) oferece suporte a essa funcionalidade.

Definirtec 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 é projetado para executar e concluir algum tipo de tarefa. Um exemplo pode ser um relógio que é atualizado na tela do usuário. A tarefa dedicada dispara em segundo plano, atualiza o relógio e termina.

Um trabalhador compartilhado é mais complicado porque 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 informações do telefone em uma tela de registro. Cada dado deve ser verificado. Quando os resultados são concluídos, eles são repassados ​​à página, para que ela saiba que todos os dados do usuário são válidos e possa continuar com o processo de registro.

Os Web workers prometem melhorar a experiência do usuário em programas baseados na Web. A velocidade com a qual uma tela do navegador pode ser atualizada é aumentada significativamente porque agora existem vários processos fazendo a atualização.

No entanto, ainda há algumas coisas que precisam ser resolvidas. Primeiro, a segurança do thread e a simultaneidade podem ser um problema. Lembre-se de que esses são processos do lado do cliente que, na verdade, estão usando servidores Web back-end para chamar threads de nível de sistema operacional no cliente. Por definição, não há muita padronização aqui.

Em segundo lugar, um Web worker recebe um identificador de recurso uniforme (URI) do script para executar quando for criado. Esses URIs devem passar pela política de mesma origem que foi desenvolvida em resposta às preocupações de segurança do lado do cliente, embora haja atualmente alguma discordância entre os fornecedores de navegadores sobre se esses URIs precisam passar pelo mesmo teste de detecção.

Por fim, os pacotes de informações passados ​​de volta para os Web workers compartilhados devem ser serializados, o que pode ser um processo lento. Em algum ponto, a eficiência do uso de um Web worker deve ser compensada com o tempo de processamento da serialização.