p> Em modelos informáticos anteriores como cliente-servidor, a carga de processamento da aplicação era partilhada entre o código no servidor e o código instalado em cada cliente localmente. Por outras palavras, uma aplicação tinha o seu próprio programa cliente pré-compilado que servia como interface do utilizador e tinha de ser instalado separadamente no computador pessoal de cada utilizador. Uma actualização para o código do lado do servidor da aplicação exigiria também tipicamente uma actualização para o código do lado do cliente instalado em cada estação de trabalho do utilizador, aumentando o custo do suporte e diminuindo a produtividade. Além disso, tanto os componentes cliente como servidor da aplicação estavam normalmente estreitamente ligados a uma determinada arquitectura informática e sistema operativo e a sua portabilidade para outros era muitas vezes proibitivamente cara para todas as aplicações, excepto as maiores (actualmente, as aplicações nativas para dispositivos móveis são também manobradas por algumas ou todas as questões anteriores).
Em contraste, as aplicações web utilizam documentos web escritos num formato padrão como HTML e JavaScript, que são suportados por uma variedade de navegadores web. As aplicações web podem ser consideradas como uma variante específica de software cliente-servidor onde o software cliente é descarregado para a máquina cliente quando se visita a página web relevante, utilizando procedimentos padrão como o HTTP. As actualizações do software da Web cliente podem acontecer cada vez que a página web é visitada. Durante a sessão, o navegador web interpreta e exibe as páginas, e actua como o cliente universal para qualquer aplicação web.
Nos primeiros dias da web, cada página web individual era entregue ao cliente como um documento estático, mas a sequência de páginas ainda podia proporcionar uma experiência interactiva, uma vez que a entrada do utilizador era devolvida através de elementos de formulário web incorporados na marcação da página. No entanto, cada alteração significativa à página web exigia uma viagem de ida e volta ao servidor para actualizar toda a página.
Em 1995, Netscape introduziu uma linguagem de scripting do lado do cliente chamada JavaScript que permitia aos programadores adicionar alguns elementos dinâmicos à interface do utilizador que funcionavam no lado do cliente. Assim, em vez de enviar dados para o servidor a fim de gerar uma página web inteira, os scripts incorporados da página descarregada podem executar várias tarefas tais como validação de entrada ou mostrar/ocultar partes da página.
Em 1996, Macromedia introduziu o Flash, um leitor de animação vectorial que podia ser adicionado aos navegadores como um plug-in para incorporar animações nas páginas web. Permitiu a utilização de uma linguagem de scripting para programar interacções no lado do cliente sem necessidade de comunicar com o servidor.
Em 1999, o conceito “aplicação web” foi introduzido na linguagem Java na versão 2.2 da Especificação Servlet. Nessa altura, tanto o JavaScript como o XML já tinham sido desenvolvidos, mas o Ajax ainda não tinha sido cunhado e o objecto XMLHttpRequest só recentemente tinha sido introduzido no Internet Explorer 5 como um objecto ActiveX.
Em 2005, o termo Ajax foi cunhado, e aplicações como o Gmail começaram a tornar os seus lados clientes cada vez mais interactivos. Um script de página web é capaz de contactar o servidor para armazenar/recuperar dados sem descarregar uma página web inteira.
Em 2007, Steve Jobs anunciou que as aplicações web, desenvolvidas em HTML5 utilizando a arquitectura AJAX, seriam o formato padrão para aplicações iPhone. Não foi necessário nenhum kit de desenvolvimento de software (SDK), e as aplicações seriam totalmente integradas no dispositivo através do motor do navegador Safari. Este modelo foi posteriormente trocado para a App Store, como forma de prevenir os infratores da prisão e de apaziguar os programadores frustrados.
Em 2014, o HTML5 foi finalizado, o que proporciona capacidades gráficas e multimédia sem a necessidade de plug-ins do lado do cliente. O HTML5 também enriqueceu o conteúdo semântico dos documentos. As APIs e o modelo de objecto de documento (DOM) já não são considerados como uma ideia a posteriori, mas são partes fundamentais da especificação HTML5. WebGL API abriu o caminho para gráficos 3D avançados baseados em tela HTML5 e linguagem JavaScript. Estes têm uma importância significativa na criação de verdadeiras aplicações web ricas independentes de plataforma e navegador.
Em 2016, durante a conferência anual da Google IO, Eric Bidelman (Senior Staff Developers Programs Engineer) introduziu as Aplicações Web Progressivas (PWAs) como um novo padrão no desenvolvimento web. Jeff Burtoft, Director de Programas Principal da Microsoft, disse: “O Google liderou o caminho com as Progressive Web Apps, e após um longo processo, decidimos que precisávamos de o apoiar totalmente”. Como tal, tanto a Microsoft como a Google apoiavam o padrão PWA.