Devo processar um JSON no frontend ou no back-end, o que é mais rápido? [fechadas]


11

Estou recebendo uma resposta de uma API como uma resposta json. Estou codificando em python para back-end.

A equipe de front-end precisa de informações da resposta json bruta para preencher uma interface do usuário, portanto, precisamos solicitar o json e facilitar a busca de informações.

Agora eu posso solicitar o json em um formato específico e enviar para a equipe de front-end ou posso passar a resposta bruta do json * para a equipe de front-end e deixá-los lidar com a solicitação do json e uso posterior para sua interface do usuário.

Lembre-se de que o tamanho do meu arquivo json é 15 MB .

Qual é o mais rápido e um melhor princípio de design?

Processar no back-end e pressionar para front-end ou processar no front-end?


Na minha opinião, o processamento no servidor é melhor no seu caso por causa do tamanho e comprimento dos dados, pois geralmente os servidores oferecem desempenho muito melhor do que os navegadores no PC.
Umair Khan 18/02

11
Idealmente, o front-end simplesmente consome as respostas da API. Como a interface do usuário estará sendo executada nos computadores de outras pessoas (que podem ser fracas e lentas), você não deseja transferir dados transferidos para o lado do cliente, pois isso pode levar a uma experiência lenta e desagradável no seu aplicativo da web. A resposta do back-end deve ser mais ou menos no formato necessário para o front end. Idealmente, front-end não deveria estar fazendo muito (se houver) processamento de dados reais, que deve ser do lado do servidor feito
Jayce444

2
15MB é meio que um monte, eu faria no back-end.
Boris

Respostas:


7

Idealmente, se o tamanho do arquivo for 15 mb, ele será carregado na memória do navegador, o que o tornará lento, sugerimos que você faça a operação apenas no back-end.

Você também pode acessar este link para referência. Diferença entre python e Javascript e o que usar

  1. Um aspecto importante é que é difícil depurar o JavaScript. Você pode perceber que, apesar de seu código estar livre de erros, o programa não funciona (falha silenciosamente).


2

Eu sugeriria fazer isso no back-end, algumas das principais razões pelas quais eu sugeriria isso:

  • O processamento em dispositivos móveis leva ao grande consumo de bateria
  • Se seu front-end for web, o javascript bloqueará enquanto o processamento estiver ocorrendo (o que pode levar a experiências ruins)
  • A resposta do servidor pode ser armazenada em cache para acelerar os tempos de resposta e reduzir o processamento duplicado
  • Seu idioma de back-end pode executar a tarefa de maneira mais otimizada do que o dispositivo de front-end

0

Como outros observaram, existem algumas boas razões para preferir o processamento no back-end:

  • se você puder remover todos os dados desnecessários do JSON enviado ao front-end, isso reduzirá a carga no dispositivo do usuário final, tanto em termos de transferência quanto em tempo de análise
  • pode ser possível armazenar em cache a chamada remota da API, para que você não precise fazer tantas chamadas para as APIs remotas (que geralmente serão muito lentas em comparação com a recuperação do cache). Você também pode potencialmente armazenar em cache os dados de pós-processamento, para apenas servi-lo repetidamente
  • É possível detectar erros que ocorrem no processamento do JSON, enquanto isso é menos visível se estiver acontecendo no dispositivo cliente

Outra grande vantagem do processamento da resposta da API no back-end é que você pode escolher a estrutura que envia para o front-end. Dessa forma, se a API que você está consumindo for alterada ao longo do tempo (ou você alterar o serviço que está usando para recuperar dados), poderá lidar com essa alteração no backend sem que isso afete o código do front-end.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.