AJAX: Por que assíncrono é quase sempre melhor

AJAX, que significa assíncrono Javascript e XML, é uma técnica que permite que as páginas da web sejam atualizadas de forma assíncrona, o que significa que o navegador não precisa recarregar a página inteira quando apenas um pequeno pedaço de dados na página foi alterado. O AJAX passa apenas as informações atualizadas para e do servidor.

Aplicativos web padrão processam interações entre visitantes da web e o servidor de forma síncrona. Isso significa que uma coisa acontece após a outra; o servidor não faz multitarefa. Se você clicar em um botão, a mensagem é enviada ao servidor e a resposta é retornada. Você não pode interagir com outros elementos da página até que a resposta seja recebida e a página seja atualizada.

Obviamente, esse tipo de atraso pode afetar negativamente a experiência de um visitante da Web - daí o AJAX.

O que é o AJAX?

O AJAX não é uma linguagem de programação, mas uma técnica que incorpora um script do lado do cliente (ou seja, um script executado no navegador do usuário) que se comunica com um servidor da web. Além disso, seu nome é um tanto enganador: embora um aplicativo AJAX possa usar XML para enviar dados, ele também pode usar apenas texto sem formatação ou texto JSON. Mas, geralmente, ele usa um objeto XMLHttpRequest no seu navegador para solicitar dados do servidor e JavaScript para exibir os dados.

instagram viewer

AJAX: síncrono ou assíncrono

O AJAX pode acessar o servidor de forma síncrona e assíncrona:

  • Synchronously, no qual o script para e aguarda o servidor retornar uma resposta antes de continuar.
  • Assíncrona, no qual o script permite que a página continue a ser processada e lida com a resposta se e quando ela chegar.

Processando sua solicitação sincronicamente é semelhante a recarregar a página, mas apenas as informações solicitadas são baixadas em vez da página inteira. Portanto, usar o AJAX de forma síncrona é mais rápido do que nunca usá-lo - mas ainda exige que o visitante aguarde o download ocorrer antes que qualquer outra interação com a página possa prosseguir. As pessoas sabem que às vezes precisam esperar o carregamento de uma página, mas a maioria das pessoas não está acostumada a atrasos significativos e contínuos depois que estão no site.

Processando sua solicitação assincronamente evita o atraso enquanto a recuperação do servidor ocorre porque o visitante pode continuar a interagir com a página da web; as informações solicitadas serão processadas em segundo plano e a resposta atualizará a página conforme e quando ela chegar. Além disso, mesmo que uma resposta seja atrasada - por exemplo, no caso de dados muito grandes - os visitantes do site podem não perceber, porque estão ocupados em outros lugares da página.

Portanto, a maneira preferida de usar o AJAX é usar chamadas assíncronas sempre que possível. Essa é a configuração padrão no AJAX.

Por que usar o AJAX síncrono?

Se as chamadas assíncronas fornecem uma experiência de usuário aprimorada, por que o AJAX oferece uma maneira de fazer chamadas síncronas?

Embora as chamadas assíncronas sejam a melhor escolha na grande maioria das vezes, existem situações raras nas quais isso não ocorre. faz sentido permitir que seu visitante continue interagindo com a página da web até um processo específico do servidor completa.

Em muitos desses casos, pode ser melhor não usar o AJAX e apenas recarregar a página inteira. A opção síncrona no AJAX existe para o pequeno número de situações em que você não pode usar uma chamada assíncrona, mas recarregar a página inteira é desnecessário. Por exemplo, pode ser necessário lidar com algum processamento de transação no qual o pedido é importante. Considere um caso em que uma página da web precise retornar uma página de confirmação depois que o usuário clicar em algo. Esta tarefa requer sincronização dos pedidos.