Framework para aplicações web
Este artigo não cita fontes confiáveis. (Fevereiro de 2013) |
Um framework para aplicações web é um framework de software designado para suportar o desenvolvimento de sites web dinâmicos, aplicações Web e serviços Web. O framework destina-se a aliviar a sobrecarga associada a atividades comuns realizadas em desenvolvimento Web. Por exemplo, muitos frameworks fornecem bibliotecas para acesso à banco de dados, frameworks de modelagem e gerenciamento de sessão, e geralmente promovem a reutilização de código.
História
[editar | editar código-fonte]Como o projeto da World Wide Web não foi legadamente dinâmico, antigamente o hipertexto consistia de código programado manualmente em HTML que era publicado em servidores web. Quaisquer modificações para as páginas publicadas precisavam ser realizadas pelo autor do codigo.
Arquiteturas
[editar | editar código-fonte]Modelo Visão Controlador (MVC)
[editar | editar código-fonte]Muitos frameworks seguem o padrão arquitetural Modelo Visão Controlador (MVC) para separar o modelo de dados com as regras de negócio da interface do usuário. Isto geralmente é considerado uma boa prática uma vez que modulariza o código, promove reutilização de código e permite que várias interfaces sejam aplicadas.
Baseada em empurrão versus Baseada em puxão
[editar | editar código-fonte]A maioria dos frameworks MVC seguem a arquitetura baseada em empurrão (push-based). Estes frameworks utilizam ações que realizam o processamento requerido, e então "empurram" os dados para a camada de visão para apresentar os resultados. Struts, Django, Ruby on Rails e Spring MVC são bons exemplos desta arquitetura. Uma alternativa a ela é a arquitetura baseada em puxão (pull-based), algumas vezes chamada de "baseada em componentes". Estes frameworks iniciam com a camada de visão, que pode então "puxar" os resultados de vários controladores conforme necessário. Nesta arquitetura, vários controladores podem estar envolvidos com uma única visão. Struts2, Tapestry, JBoss Seam, Wicket e Stripes são exemplos de arquiteturas baseadas em puxão.
Sistemas de Gerenciamento de Conteúdo
[editar | editar código-fonte]Alguns sistemas de gerenciamento de conteúdo auto-descritivos começaram a se expandir para frameworks de aplicações web de alto nível. Por exemplo, a estrutura do Drupal fornece um núcleo mínimo cuja função é estendida através de módulos que fornecem funções geralmente associadas com frameworks de aplicação web.