📖
Browser
Web Worker
Thread JavaScript separada do main thread. Para cálculos pesados sem travar a UI.
📚 O que é
JavaScript é single-threaded. Web Workers permitem código em threads separadas. Sem acesso ao DOM. Comunicação via postMessage/onmessage. Ideal para: parsing de JSON grande, criptografia, image processing, cálculos intensivos.
✅ Quando usar
Cálculos que demoram >16ms (trava 1 frame). Parsing de arquivos grandes. Criptografia. Algoritmos intensivos que precisam rodar no cliente.
🚫 Quando NÃO usar
Operações que precisam do DOM. Quando server-side é mais adequado. Para lógica simples.
👍 Prós
Sem travar UI
Thread dedicada
Parallelismo real no browser
Comlink simplifica comunicação
👎 Contras
Sem acesso ao DOM
Comunicação por cópia (overhead em dados grandes)
Setup mais verbose
SharedArrayBuffer tem restrições de CORS