thumb|Captura de tela do software Horde (2007), uma aplicação web de código aberto do tipo groupware. Em computação, aplicação web é um sistema de software acessado por meio de um navegador web, utilizando tecnologias da World Wide Web como HTML, CSS e JavaScript. Essas aplicações podem ser executadas em um servidor web (hospedagem remota) e são consumidas por um cliente (geralmente o navegador) via internet.
De forma geral, parte relevante do processamento ocorre no servidor. Em um comércio eletrônico, por exemplo, as páginas e funcionalidades acessadas pelo usuário são atendidas por máquinas conectadas à internet que executam regras de negócio e retornam resultados para renderização no navegador.
O servidor web recebe requisições e envia respostas HTTP ao cliente. Ao acessar um recurso, o navegador pode receber páginas HTML, imagens, PDFs ou outros tipos de conteúdo. Normalmente, o HTML contém instruções que orientam a apresentação na interface do usuário.
Histórico As primeiras aplicações web surgiram na década de 1990 com navegadores gráficos e a popularização da internet. A maioria dos sites era estática, oferecendo conteúdo fixo. Com o avanço de linguagens do lado do servidor, como PHP, ASP e Perl, tornou-se possível gerar páginas dinâmicas e interativas.
No início dos anos 2000, a adoção de AJAX permitiu carregamentos assíncronos, melhorando a experiência do usuário. Posteriormente, frameworks e bibliotecas como Angular, React e Vue.js facilitaram a criação de interfaces ricas no lado do cliente. Mais recentemente, as Progressive Web Apps (PWA) combinam recursos da web com funcionalidades de aplicativos nativos, como notificações push e operação offline.
Recursos e limitações do servidor O servidor web, por si só, fornece conteúdo estático. Para gerar páginas dinâmicas e persistir dados, utiliza-se software adicional (por exemplo, servlets/back-ends que tratam a lógica de aplicação e conectam a bancos de dados).
Páginas dinâmicas – A geração de conteúdo personalizado depende de componentes de aplicação no servidor que processem a requisição e produzam a resposta. Armazenamento de dados – A leitura/gravação em banco de dados é mediada por camadas de aplicação que gerenciam transações e segurança.
Falhas de segurança podem ocorrer em diferentes fases do desenvolvimento; vulnerabilidades em aplicações web impactam integridade, disponibilidade e confidencialidade dos dados.
Comunicação via HTTP O HTTP adota um modelo de comunicação por requisições (requests) e respostas (responses). Uma requisição ocorre quando o cliente solicita um recurso ao servidor; este envia uma resposta, que o cliente interpreta para processar e exibir o conteúdo. Quando a resposta contém HTML, o código é incluído no corpo da mensagem e renderizado pelo navegador.
Entre os métodos mais usados estão: GET (recuperação de recursos), POST (envio de dados no corpo da requisição), PUT e PATCH (atualizações integrais ou parciais), DELETE (remoção) e HEAD (apenas cabeçalhos).
Tipos de aplicações web Tradicional – Renderiza o conteúdo no servidor e envia páginas completas ao cliente. SPA – Carrega uma única página HTML e atualiza dinamicamente o conteúdo via JavaScript. PWA – Combina recursos da web com funcionalidades típicas de aplicativos nativos (offline, push, instalação). Aplicações híbridas – Tecnologias web empacotadas para aplicativos móveis (ex.: Ionic, Cordova).
Exemplos notáveis Gmail – Serviço de e-mail com interface dinâmica. Google Docs – Edição colaborativa baseada na web. Facebook – Rede social com atualização em tempo real. Trello – Gerenciamento de projetos visual e colaborativo.
Ver também MVC Software as a Service (SaaS) Web 2.0 Web service
Ligações externas HTML Living Standard — especificação em andamento do HTML (WHATWG). Web Applications Working Group no W3C.
Categoria:Programas de computador