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
- CakePHP(英语:CakePHP)
- Yii(英语:Yii)
- ThinkPHP[1]
- Symfony
- Laravel
- Kohana(英语:Kohana_(framework))
- Seagull(英语:Seagull_PHP_Framework)
- Drupal
- CodeIgniter
- WindFramework[2]
- Phalcon
- FuelPHP
Javascript
(按字母排序)
Python
Ruby
Rust
JAVA
引用
- ^ ThinkPHP
- ^ WindFramework. [2016-04-04]. (原始内容存档于2022-02-08).
- ^ Pinax. [2020-04-05]. (原始内容存档于2022-02-08).
- ^ Grok. [2020-04-05]. (原始内容存档于2022-03-07).
Web应用框架 |
---|
| | | C++ | - CppCMS(英语:CppCMS)
- Wt(英语:Wt (web toolkit))
|
---|
| CLI | - ASP.NET
- DNN(英语:DotNetNuke)
- BFC(英语:Base One Foundation Component Library)
- MonoRail(英语:MonoRail (software))
- OpenRasta(英语:OpenRasta)
- Umbraco
|
---|
| ColdFusion | - CFWheels
- ColdBox Platform(英语:ColdBox Platform)
- ColdSpring(英语:ColdSpring Framework)
- Fusebox(英语:Fusebox (programming))
- Mach-II(英语:Mach-II)
- Model-Glue(英语:Model-Glue)
|
---|
| Common Lisp | - Caveman2(英语:Caveman2)
- CL-HTTP(英语:CL-HTTP)
- UnCommon Web(英语:UnCommon Web)
- Weblocks
|
---|
| D | |
---|
| Haskell | - Happstack(英语:Happstack)
- Yesod(英语:Yesod (web framework))
- Snap(英语:Snap (web framework))
|
---|
| Java | - AppFuse(英语:AppFuse)
- Flexive(英语:Flexive)
- Grails(英语:Grails (framework))
- GWT
- ICEfaces(英语:ICEfaces)
- ItsNat(英语:ItsNat)
- JavaServer Faces
- JHipster(英语:JHipster)
- Jspx(英语:Jspx-bay)
- JWt(英语:JWt (Java web toolkit))
- OpenXava(英语:OpenXava)
- Play
- Reasonable Server Faces(英语:Reasonable Server Faces)
- Remote Application Platform(英语:Remote Application Platform)
- RIFE(英语:RIFE)
- Seam(英语:JBoss Seam)
- Spring
- Stripes(英语:Stripes (framework))
- Struts
- Tapestry
- Vaadin(英语:Vaadin)
- Vert.x
- WebWork(英语:WebWork)
- Wicket
- WaveMaker(英语:WaveMaker)
- ZK
|
---|
| JavaScript | - Ample SDK(英语:Ample SDK)
- Angular(英语:Angular (application platform))/AngularJS
- Backbone.js
- Chaplin.js(英语:Chaplin.js)
- Closure(英语:Google Closure Tools)
- Dojo Toolkit
- Ember.js
- Extjs
- JQuery
- Meteor(英语:Meteor (web framework))
- MooTools(英语:MooTools)
- Node.js
- Prototype
- React
- Rico
- script.aculo.us(英语:script.aculo.us)
- Sencha Touch(英语:Sencha Touch)
- SproutCore(英语:SproutCore)
- Vue.js
- Wakanda(英语:Wakanda (software))
|
---|
| Perl | |
---|
| PHP | |
---|
| Python | |
---|
| Ruby | - Camping(英语:Camping (microframework))
- Merb(英语:Merb)
- Padrino(英语:Padrino (web framework))
- Ruby on Rails
- Sinatra(英语:Sinatra (software))
|
---|
| Rust | |
---|
| Scala | - Lift
- Play
- Scalatra(英语:Scalatra)
|
---|
| Smalltalk | - AIDA/Web(英语:AIDA/Web)
- Seaside(英语:Seaside (software))
|
---|
| 其他语言 | - Application Express(英语:Oracle Application Express)(PL-SQL)
- Grails(英语:Grails (framework))(Groovy)
- Kepler(英语:Kepler (software))(Lua)
- OpenACS(英语:OpenACS)(Tcl)
- Phoenix(英语:Phoenix (web framework))(Elixir)
- SproutCore(英语:SproutCore)(JavaScript-Ruby)
- Yaws(Erlang)
|
---|
|