Skip to content

Posts

Em uma Single Page Application, Devo processar no Cliente ou no Servidor?

27 de dezembro de 2015 • 2 min de leitura

Em uma Single Page Application, Devo processar no Cliente ou no Servidor?

Um dos pontos de venda da Single Page Application (SPA) era transferir trabalho tradicionalmente realizado no servidor para o cliente. Sinto que a 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 de dez anos até o smartphone mais moderno com acesso a velocidades de internet variadas. A única coisa com 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 ideais 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, a aplicação fica lenta e eventualmente se torna não responsiva. Infelizmente, você não sabe que isso está acontecendo porque está no cliente e, pior ainda, não ocorre em todos os clientes, tornando difícil a solução de problemas.

Mover a paginação do cliente para o servidor aliviará problemas de performance 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 mesmo, 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 do dia, 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 transferir trabalho para o cliente, mas ao fazer isso, podemos rapidamente sobrecarregar o cliente. Manter tarefas árduas como paginação e processamento intensivo no servidor pode nos proteger de sobrecarregar o cliente.

Autor: Chuck Conway é especialista em engenharia de software e IA Generativa. Conecte-se com ele nas redes sociais: X (@chuckconway) ou visite-o no YouTube.

↑ Voltar ao topo

Você também pode gostar