Por que o mercado livre não mostra logo todos os resultados de uma só vez?
Sabe quando você acessa um site, vamos considerar o mercado livre por exemplo, e lá embaixo no final da página tem uns números e uns botões “Anterior” e “Próximo”?
Então, isso se chama paginação. Alguns sites mostram uma quantidade pré definida de produtos na página, 30 produtos por página por exemplo. E tem sites que eles até deixam você mesmo escolher a quantidade de produtos para mostrar na página, mas é sempre uma quantidade limitada.
Vamos imaginar que eu estou procurando um celular para comprar por exemplo, eu não quero ver somente os 30 celulares da primeira página, eu quero ver todas opções, para que eu possa escolher o melhor celular custo/benefício pra mim. Mas para eu conseguir ver todos os celulares, eu tenho que ver todas as 30 opções da primeira página, depois clicar em “Próximo”, ver todas as 30 opções da segunda página, e assim por diante até eu conseguir ver todas as páginas. Isso seria bem trabalhoso, certo?
Se você assim como eu é curioso e quer entender como as coisas funcionam, você também já fez a mesma pergunta que eu:
Por que o mercado livre não mostra logo todos os celulares de uma só vez? Assim eu não preciso ficar navegando várias páginas até conseguir ver todos os celulares.
Os dados de todos esses celulares são enviados pelo servidor do mercado livre para o dispositivo que está acessando o site(pc, celular, tablet, etc...), e essa quantidade de dados precisa ficar armazenada em algum lugar certo? Adivinha onde? Isso mesmo que você pensou, na memória RAM. Por mais que você tenha um dispositivo top de linha com ótimas configurações, ele também tem um limite. Além do mais, precisamos levar em consideração que o seu dispositivo é muito bom, mas isso não quer dizer que o dispositivo das outras pessoas também é. Dito isso, dependendo da quantidade dos dados, o navegador pode ficar extremamente lento ou no pior caso pode até travar ao tentar processar tantos dados.
Outro problema que teríamos além de memória: as vezes sentimos uma demora para carregar uma página com apenas algumas dezenas de produtos certo? agora imagine ter que esperar carregar uma página com milhões desses produtos? Além disso, consultas pesadas assim podem causar gargalo no banco de dados.
Paginação vai muito além, também temos que analizar como faremos a paginação, qual estratégia usaremos, offset, scroll infinito, cursor, todas opções tem pontos positivos e negativos dependendo da aplicacão. Mas eu já me empolguei demais por hoje, por mim eu continuaria escrevendo mais kkk. Se você leu todo esse textão, comente “é muito bom entender para aprender” para eu saber que existem mais pessoas como eu, que gostam de desenvolvimento de software. Espero de verdade ter te ajudado entender “por que o mercado livre não mostra logo todos os resultados de uma só vez”?