Artigo
O que é processamento client-side?
A maioria das ferramentas de arquivo funciona enviando seu documento para um computador remoto, que faz o trabalho pesado e devolve o resultado. O processamento client-side inverte isso: o seu próprio navegador faz o trabalho, e o arquivo nunca sai do seu dispositivo.
Duas formas de uma ferramenta funcionar: na sua máquina ou na deles
No processamento server-side, fazer upload de um arquivo é como levar roupa para lavar fora: você entrega, uma máquina remota cuida disso e você pega o resultado depois. O processamento client-side é como lavar em casa. A ferramenta roda dentro da aba do seu navegador, lê o arquivo da memória, processa e entrega o resultado, tudo sem o arquivo tocar em nenhuma conexão de rede. O site só precisa entregar o código de processamento uma vez. Depois disso, tudo funciona do seu lado.
O que o WebAssembly trouxe para o navegador
Durante anos, os navegadores só podiam rodar JavaScript, que é ótimo para interfaces mas lento demais para tarefas como recodificar um vídeo ou comprimir uma imagem grande. O WebAssembly (geralmente abreviado como WASM) mudou isso. É um formato binário compacto que os navegadores conseguem executar em velocidade próxima à nativa, então código originalmente escrito em C ou C++ pode ser compilado para WASM e rodar dentro de uma aba do navegador sem nenhum plugin. Os mesmos codecs e bibliotecas de compressão que movem softwares desktop agora rodam diretamente na página. JavaScript e WebAssembly trabalham juntos: o JavaScript cuida da interface e da orquestração, enquanto o WASM cuida do processamento pesado.
O que acontece de fato durante uma tarefa
Quando você arrasta um arquivo para uma ferramenta client-side, a página carrega um pequeno motor de processamento (geralmente um módulo WASM), caso ainda não tenha feito isso, e passa seu arquivo para ele via JavaScript. O processamento em si geralmente roda em uma thread em segundo plano chamada Web Worker, o que mantém a interface do navegador responsiva enquanto o trabalho acontece. Você pode abrir a aba Network do seu navegador a qualquer momento durante esse processo e nenhuma requisição com o seu arquivo vai aparecer. O resultado é montado na memória e oferecido a você como download.
Tradeoffs honestos que você deve conhecer
Na primeira vez que você usa uma ferramenta que depende de um motor WASM grande, o navegador baixa esse motor e o armazena em cache. Usos posteriores pulam o download e funcionam completamente offline. Como o processamento roda no seu dispositivo, um arquivo muito grande leva o tempo que o seu processador e a memória disponível permitem, e um data center terminaria algumas tarefas pesadas mais rápido. O que você ganha em troca é real: seu arquivo nunca é transmitido, não há espera de upload em conexões lentas, e a ferramenta continua funcionando sem internet depois do primeiro carregamento.
Ferramentas neste artigo
- Comprimir imagens Reduza o tamanho de imagens sem upload. Controle de qualidade ou tamanho alvo em KB. Processamento em lote suportado.
- Comprimir vídeo Reduza o tamanho do vídeo via recodificação H.264 no navegador. Sem upload, sem servidor.
- Mesclar arquivos PDF Combine múltiplos arquivos PDF em um, diretamente no seu navegador.
Perguntas frequentes
O processamento client-side significa automaticamente que meus dados são privados?
Client-side significa que o arquivo não é enviado a um servidor por design, o que é o que torna a privacidade possível. Você pode confirmar isso abrindo a aba Network nas ferramentas de desenvolvedor do seu navegador enquanto processa um arquivo: nenhuma requisição de saída deve conter os dados do seu arquivo. Mesmo assim, é prudente verificar se uma ferramenta realmente se comporta dessa forma em vez de confiar apenas no rótulo.
Por que o primeiro uso de uma ferramenta às vezes é mais lento?
O navegador precisa baixar o motor de processamento (o módulo WASM) na primeira vez que você o usa, o que pode levar alguns segundos dependendo do tamanho e da sua conexão. Depois disso, o motor fica em cache localmente, então as sessões seguintes começam imediatamente e a ferramenta funciona offline.