Web应用框架

Web應用框架（Web application framework）是一種電腦軟體框架，用來支援動態網站、網絡應用程式及網路服務的開發。這種框架有助於減輕網頁開發時共通性活動的工作負荷，例如許多框架提供資料庫存取介面、標準樣板以及會話管理等，可提昇程式碼的可再用性。

种类

模型 - 视图 - 控制器（MVC（Model view controller））

许多框架遵循模型 - 视图 - 控制器（MVC）体系模型的结构模式，使数据模型与用户界面分开。这被普遍认为是一个很好的做法，因为它模块化的代码，能提高代码的重复使用，并允许多个接口。在Web应用中，这允许不同的应用方面，如网页，远程应用程序和Web服务接口。MVC是业界比较认可的架构模型。

三部分组织模式 

在这种组织模式中，应用程序建立在三个部分：客户端，应用程序和数据库。数据库通常是一个RDBMS。而客户端指的是由Web应用程序生成的HTML，在用户的浏览器运行。应用程序运行在服务器上。

内容管理系统（CMS）

指的是一种内容编辑程序。就像在博客写文章一样，不需要懂得编程的人，也可以通过CMS发布，更改，管理内容。

特點

網頁模版系統

網頁快取

安全性

資料庫關聯與映射

URL映射

AJAX

AJAX即“Asynchronous JavaScript and XML”（异步的JavaScript与XML技术），指的是一套综合了多项技术的浏览器端网页开发技术。Ajax的概念由Jesse James Garrett所提出[1]。

传统的Web应用允许用户端填写表单（form），当提交表单时就向Web服务器发送一个请求。服务器接收并处理传来的表单，然后送回一个新的网页，但这个做法浪费了许多带宽，因为在前后两个页面中的大部分HTML码往往是相同的。由于每次应用的沟通都需要向服务器发送请求，应用的回应时间依赖于服务器的回应时间。这导致了用户界面的回应比本机应用慢得多。

与此不同，AJAX应用可以仅向服务器发送并取回必须的数据，并在客户端采用JavaScript处理来自服务器的回应。因为在服务器和浏览器之间交换的数据大量减少（大约只有原来的5%）[来源请求],服务器回应更快了。同时，很多的处理工作可以在发出请求的客户端机器上完成，因此Web服务器的负荷也减少了。

类似于DHTML或LAMP，AJAX不是指一种单一的技术，而是有机地利用了一系列相关的技术。虽然其名称包含XML，但实际上数据格式可以由JSON代替，进一步减少数据量，形成所谓的AJAJ。而客户端与服务器也并不需要异步。一些基于AJAX的“派生／合成”式（derivative/composite）的技术也正在出现，如AFLAX。

自動configuration

Web服务

程式語言
各種程式語言使用框架分類如下：

PHP 

 Zend framework
 
 
 ThinkPHP
 Symfony
 Laravel
 
 
 Drupal
 CodeIgniter
 WindFramework
 Phalcon
 FuelPHP

Javascript 
（按字母排序）

 AngularJS
 Backbone.js
 Dojo Toolkit
 Ember.js
 jQuery
 
 Prototype
 Vue.js
 ZK

Python 

 Django
Flask
Pinax
Grok
 Pylons
 TurboGears
 Web2py
 Zope
Quixote
Pyramid
Tornado

Ruby 

 Ruby On Rails
 Sinatra

JAVA 

 Spring
 Struts
 hibernate
 Grails
 GWT
 JSF
 Tapestry
 Vaadin
 ZK

引用

軟體工程