Posts
Em um Aplicativo de Página Única, devo processar no Cliente ou no Servidor?
27 de dezembro de 2015 • 2 min de leitura
Um dos pontos de venda do Aplicativo de Página Única (SPA) era descarregar o trabalho tradicionalmente realizado no servidor para o cliente. Sinto que o SPA cumpriu essa promessa.
No entanto, nem tudo são flores. É fácil ficar excessivamente entusiasmado e empurrar muito trabalho para o cliente. Frequentemente esquecemos que não podemos controlar o ambiente do cliente — o cliente pode ser qualquer coisa, desde uma máquina com dez anos de idade até o smartphone mais recente e moderno com acesso a velocidades de internet variáveis. A única coisa em que podemos contar é o usuário visualizando nosso site em um navegador.
Processamento
Na minha experiência, processamento intensivo e dados que precisam de consistência entre o servidor e o cliente, como conversões de data ou dados que requerem cálculos precisos, como dinheiro, são candidatos principais para renderização no lado do servidor.
Paginação
Uma tarefa comum realizada no cliente é a paginação. Com conjuntos de dados pequenos, isso funciona muito bem; no entanto, conjuntos de dados pequenos nunca permanecem pequenos. À medida que os dados crescem, o aplicativo fica mais lento e eventualmente se torna irresponsivo. Infelizmente, você não sabe que está acontecendo porque está no cliente e, pior ainda, não ocorre em todos os clientes, dificultando a solução de problemas.
Mover a paginação do cliente para o servidor aliviará os problemas de desempenho relacionados à paginação no cliente. Você pode estar pensando: “mas agora estou fazendo uma tonelada de chamadas de API. Fazer tantas chamadas de API não parece ideal.” Verdade, parece assim, mas você ficará surpreso com a rapidez com que seus dados retornam do servidor. E a melhor parte? Você controla o servidor e pode aumentar a capacidade conforme necessário.
No final das contas, você quer fornecer ao usuário uma experiência rica e responsiva e, às vezes, isso significa deixar o servidor fazer o trabalho pesado.
Resumo
Resumindo, quando possível, queremos descarregar o trabalho para o cliente, mas ao fazer isso, podemos sobrecarregar rapidamente o cliente. Manter tarefas árduas como paginação e processamento intensivo no servidor pode nos proteger de sobrecarregar o cliente.
Autor: Chuck Conway é um Engenheiro de IA com quase 30 anos de experiência em engenharia de software. Ele constrói sistemas de IA práticos—pipelines de conteúdo, agentes de infraestrutura e ferramentas que resolvem problemas reais—e compartilha o que está aprendendo ao longo do caminho. Conecte-se com ele nas redes sociais: X (@chuckconway) ou visite-o no YouTube e no SubStack.