JQuery

jQuery
原作者約翰·雷西格
開發者jQuery Team
首次发布2006年8月26日,​17年前​(2006-08-26
当前版本3.7.1[1]在维基数据编辑(2023年8月28日,8個月前)
源代码库
  • github.com/jquery/jquery
編輯維基數據鏈接
编程语言JavaScript
类型網頁應用程序框架
许可协议MIT许可证
网站jquery.com

jQuery是一套跨瀏覽器的JavaScript函式庫,用于简化HTML與JavaScript之間的操作。[2]約翰·雷西格John Resig)在2006年1月的BarCamp NYC上釋出了第一個版本。目前由Dave Methvin领导的团队进行开发。全球前10,000个访问最高的网站中,有65%使用了jQuery,是曾經最受歡迎的JavaScript函式庫[3][4]

簡介

jQuery是开源软件,使用MIT许可证授权。[5] jQuery的语法设计使得许多操作变得容易,如操作文档对象(document)、选择文档对象模型DOM)元素、创建动画效果、处理事件、以及开发Ajax程序。jQuery也提供了给开发人员在其上创建插件的能力。这使开发人员可以对底层交互与动画、高级效果和高级主题化的组件进行抽象化。模块化的方式使jQuery函数库能够创建功能强大的动态网页以及网络应用程序

微软诺基亚已宣布在他们的平台上绑定jQuery。[6]微软最初在Visual Studio中集成了jQuery[7]以便在微软自己的ASP.NET AJAX框架和ASP.NET MVC Framework中使用,而诺基亚则在他的Web运行时组件开发平台中集成了jQuery[8]MediaWiki自从1.16版本后也开始使用jQuery[9]

jQuery 1.3版以後,引入全新的層疊樣式表CSS)选择器引擎Sizzle。[10]同時不再提供Packed版本,因為解壓縮所消耗的時間,遠大於所節省的下載時間,且不利於除錯,且已有Google AJAX Libraries API等公開站台提供jQuery的js的引用服务,故Packed版本原本的優點已蕩然無存。

特色

jQuery有下列特色:

  • 使用多浏览器开源选择器引擎Sizzle(jQuery项目的衍生产品)进行DOM元素选择[11]
  • 基于CSS选择器的DOM操作,使用元素的名称和属性(如id和class)作为选择DOM中节点的条件
  • 事件
  • 特效和動畫
  • Ajax
  • Deferred和Promise对象来控制异步处理
  • JSON解析
  • 通过插件扩展
  • 工具函数,如特征检测
  • 现代浏览器中原生的兼容性方法,但对于旧版浏览器需要后备(fallback)方法,比如inArray()each()
  • 多浏览器(不要与跨浏览器混淆)支持

浏览器支持

jQuery 3.0及以后版本支持“当前−1版本” 的FirefoxChromeSafariEdge(就是说当前稳定版本以及当前稳定版本之前的一个版本),另外还支持Internet Explorer 9以后的IE版本。在移动端支持iOS 7+和Android 4.0+。[12]

用法

加載jQuery

jQuery库是包含所有公共DOM、事件、效果和Ajax函数的一个JavaScript文件。可以通过链接到本地副本或公共服务器提供的许多副本之一把jQuery包含在网页中。jQuery有一个由MaxCDN托管的內容傳遞網路(CDN)。[13] Google和微软也托管了jQuery。[14][15]

<script src="jquery.js"></script>

也可以直接从CDN中加载jQuery:

<script
  src="https://code.jquery.com/jquery-3.3.1.min.js"
  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
  crossorigin="anonymous"></script>

使用风格

jQuery有两种使用风格:

  • 通过jQuery对象的工厂方法$函数。这些函数通常称作命令,使用方法链英语method chaining进行调用,因为它们都返回jQuery对象。
  • 通过$.开头的函数。这些是工具函数,它们不直接作用于jQuery对象。

在jQuery中访问和操作多个DOM节点通常从用CSS选择器字符串调用$函数开始。这会返回一个引用HTML页面中所有匹配元素的jQuery对象。比如$("div.test"),会返回一个拥有class test的所有div元素的jQuery对象。可以通过调用返回的jQuery对象或节点本身的方法来操作这个节点集。

无冲突模式

jQuery还有.noConflict()模式,这会释放对$的控制。如果其他的库也使用$作为标识符的话,这个模式会比较有用。在无冲突模式下,开发人员可以使用jQuery替代$而不会缺失任何功能。[16]

典型的代码开头

通常,jQuery是通过将初始化代码和事件处理函数放入$(handler)中来使用的。当浏览器构建DOM并发送加载事件时触发。

$(function() {
    // 这个匿名函数是页面加载完成时要调用的函数。
    // jQuery代码,事件处理回调写在这里。
});

或者

$(fn); // 在其他地方定义的名为fn的函数,是页面加载完成时要调用的函数。

或者我们也可以使用

$(document).ready(function() {
    // 这是页面完成加载时要调用的函数。
    // jQuery代码,事件处理回调写在这里。
});

由于历史原因,$(document).ready(callback)已经成为DOM就绪时运行代码的实质性标志。但jQuery 3.0以后,鼓励开发人员使用更简短的$(handler)标志。[17]

对尚未加载的元素进行事件处理的回调函数可以作为匿名函数.ready()内部注册。这些事件处理函数只会在触发事件时被调用。例如,下面的代码添加了一个,用于在img图像元素上单击鼠标事件的处理函数。

$(function() {
    $('img').on('click', function() {
        // 处理页面中任何img元素上的click事件。
    });
});

链接(Chaining)

jQuery命令通常返回一个jQuery对象,因此命令可以链接:

$('div.test').add('p.quote').addClass('blue').slideDown('slow');

这行代码找到了所有class属性为testdiv标签,以及所有class属性为quotep标签的并集,对于所有匹配的元素都增加一个blue的class属性,并用一个动画增加了它们的高度。函数$add影响匹配的元素有哪些,而addClassslideDown影响了引用的节点。

一些jQuery函数返回特定的值(例如$('#input-user-email').val())。在这些情况下,由于该值没有引用jQuery对象,链接将不起作用。

创建新的DOM元素

除了通过jQuery对象层次结构访问DOM节点外,如果作为参数传递给$()的字符串看起来像HTML,也可以创建新的DOM元素。例如,这行代码找到ID为carmakes的HTML select元素,并会增加一个value属性为"VAG"、文字为"Volkswagen"的option元素:

$('select#carmakes')
    .append($('<option>')
    .attr({
        value:"VAG"
    })
    .append("Volkswagen"));

工具函数

带有$.前缀的jQuery函数是工具函数,或者说是影响全局属性和行为的函数。下面的例子使用了函数each()来遍历数组:

$.each([1,2,3], function() {
    console.log(this + 1);
});

这会将“2”,“3”,“4”写入控制台。

Ajax

使用$.ajax()可以执行跨浏览器Ajax请求。其相关方法可用于加载和处理远程数据。

$.ajax({
    type: 'POST',
    url: '/process/submit.php',
    data: {
        name : 'John',
        location : 'Boston'
    },
}).done(function(msg) {
    alert('Data Saved: ' + msg);
}).fail(function(xmlHttpRequest, statusText, errorThrown) {
    alert('Your form submission failed.\n\n'
      + 'XML Http Request: ' + JSON.stringify(xmlHttpRequest)
      + ',\nStatus Text: ' + statusText
      + ',\nError Thrown: ' + errorThrown);
});

本示例将数据name=Johnlocation=Boston发布到服务器上的/process/submit.php。当这个请求结束时,会调用success函数来提醒用户。如果请求失败,它会提醒用户,告知该请求的状态以及特定的错误。

异步

请注意,上面的例子使用$.ajax() 的延期性来处理它的异步特性:.done().fail()创建仅在异步过程完成时才运行的回调。

發佈版本

JQuery目前分成1.x版、2.x版、3.x版,這三種發佈版本,後两种不再支援IE 6/7/8,前者透過jQuery Migrate plugin與先前版本保持相容。

版本号 发布日期 最新更新 大小(KB) 备注
1.0 2006年8月26日 (2006-08-26) 第一个稳定版本
1.1 2007年1月14日 (2007-01-14)
1.2 2007年9月10日 (2007-09-10) 1.2.6 54
1.3 2009年1月14日 (2009-01-14) 1.3.2 55.9 将Sizzle选择器引擎引入核心
1.4 2010年1月14日 (2010-01-14) 1.4.4 76
1.5 2011年1月31日 (2011-01-31) 1.5.2 83 延迟回调管理,ajax模块重写
1.6 2011年5月3日 (2011-05-03) 1.6.4 89 显著改善attr()与val()的性能
1.7 2011年11月3日 (2011-11-03) 1.7.2 (2012年3月21日 (2012-03-21)) 92 新的事件API:.on()和.off(),而旧的API仍然支持。
1.8 2012年8月9日 (2012-08-09) 1.8.3 (2012年11月13日 (2012-11-13)) 91.4 重写Sizzle选择器引擎,改善动画和$(html, props)的灵活性。
1.9 2013年1月15日 (2013-01-15) 1.9.1 (2013年2月4日 (2013-02-04)) 90 移除弃用接口,清理代码
1.10 2013年5月24日 (2013-05-24) 1.10.2 (2013年7月3日 (2013-07-03)) 91 修复了1.9和2.0 beta版本周期的bug和差异
1.11 2014年1月24日 (2014-01-24) 1.11.3 (2015年4月28日 (2015-04-28)) 95.9
1.12 2016年1月8日 (2016-01-08) 1.12.4 (2016年5月20日 (2016-05-20)) 95
2.0 2013年4月18日 (2013-04-18) 2.0.3 (2013年7月3日 (2013-07-03)) 81.1 除去对IE 6-8的支持以提高性能,并降低文件大小
2.1 2014年1月24日 (2014-01-24) 2.1.4 (2015年4月28日 (2015-04-28)) 82.4
2.2 2016年1月8日 (2016-01-08) 2.2.4 (2016年5月20日 (2016-05-20)) 85.6
3.0 2016年6月9日 (2016-06-09)[18] 3.0.0 (2016年6月9日 (2016-06-09)) 86.3 Deferred、$.ajax、$.when支持Promises/A+,令.data()兼容HTML5
3.1 2016年7月7日 (2016-07-07) 3.1.1 (2016年9月23日 (2016-09-23)) 86.3 加入jQuery.readyException,ready handler错误现在不会不显示了
3.2 2017年3月16日 (2017-03-16)[19] 3.2.1 (2017年3月20日 (2017-03-20)) 84.6 增加了对检索<template>元素内容的支持,弃用了多种旧方法。
3.3 2018年1月19日 (2018-01-19) 3.3.1 (2018年1月20日 (2018-01-20)) 84.8 弃用旧函数,函数现在可以接受类,并支持其写成数组格式。
3.4 2019年4月10日 (2019-04-10)[20] 3.4.1 (2019年5月1日 (2019-05-01))[21] 86.1 改進性能,增加noncenomodule,修復radio elements
3.5 2020年4月10日 (2020-04-10)[22] 3.5.1 (2019年5月4日 (2019-05-04))[23] 87.4 安全性更新,以.even().odd()代替:even:odd,棄用jQuery.trim
3.6 2021年3月2日 (2021-03-02)[24] 3.6.4 (2023年3月8日 (2023-03-08))[25] 88.2[26] 错误修正,当发生JSONP错误时返回JSON,兼容新版Chrome选择器。
3.7 2023年5月11日 (2023-05-11)[27] 3.7.1 (2023年8月28日 (2023-08-28))[28] 85.4[29] 添加了 .uniqueSort() 方法,性能优化,优化 .outerWidth(true).outerHeight(true) 对负边距的处理,焦点修复。

子项目

以下项目均是源自于Interface插件

jQuery UI

基于jQuery的用户界面库,包括拖放缩放对话框、标签页等多个组件。

jQuery Tools

jQuery Tools是一個第三方的套件,基於jQuery。包括了标签页、表單驗證、滑鼠滾輪事件等多个组件。[30]

jQuery Mobile

基於jQuery的手機網頁製作工具,jQuery Mobile的網站上包含了網頁的設計工具、主題設計工具。另外jQuery Mobile的js插件包含了換頁、事件等的多項功能。[31]

参阅

  • 自由软件主题

競品

参考文献

  1. ^ jQuery 3.7.1 Released: Reliable Table Row Dimensions. 2023年8月28日. 
  2. ^ jQuery: The write less, do more, JavaScript library. The jQuery Project. [29 April 2010]. (原始内容存档于2012-02-29). 
  3. ^ jQuery Usage Statistics. [2013-05-17]. (原始内容存档于2018-12-25). 
  4. ^ Usage of JavaScript libraries for websites. W3Techs. [2010-07-08]. (原始内容存档于2013-06-27). 
  5. ^ License – JQuery JavaScript Library. [2009-11-26]. (原始内容存档于2020-12-13). 
  6. ^ Resig, John. jQuery, Microsoft, and Nokia. jQuery Blog. jQuery. 2008-09-28 [2009-01-29]. (原始内容存档于2012-08-06). 
  7. ^ Guthrie, Scott. jQuery and Microsoft. ScottGu's Blog. 2008-09-28 [2009-01-29]. (原始内容存档于2009-02-01). 
  8. ^ Guarana UI: A jQuery Based UI Library for Nokia WRT. Forum Nokia. [2010-03-30]. (原始内容存档于2009-11-23). 
  9. ^ jQuery. MediaWiki. January 19, 2012 [March 11, 2012]. (原始内容存档于2018-12-25). 
  10. ^ Release:jQuery 1.3. (原始内容存档于2012-12-21) (英语). 
  11. ^ Resig, John. jQuery 1.3 and the jQuery Foundation. jQuery Blog. 2009-01-14 [2009-05-04]. (原始内容存档于2020-12-01). 
  12. ^ Browser Support | jQuery
  13. ^ jquery.org, jQuery Foundation -. jQuery CDN. [2018-05-19]. (原始内容存档于2021-02-05). 
  14. ^ Google Libraries API - Developer's Guide. code.google.com. [March 11, 2012]. (原始内容存档于2018-12-25). 
  15. ^ Microsoft Ajax Content Delivery Network. ASP.net. Microsoft Corporation. [June 19, 2012]. (原始内容存档于2020-12-17). 
  16. ^ jQuery.noConflict() jQuery API Documentation. [2020-09-26]. (原始内容存档于2014-09-14). 
  17. ^ jquery.org, jQuery Foundation -. jQuery Core 3.0 Upgrade Guide - jQuery. [2018-05-19]. (原始内容存档于2021-01-21). 
  18. ^ Chesters, James. Long-awaited jQuery 3.0 Brings Slim Build. infoq.com. 2016-06-15 [2017-01-28]. (原始内容存档于2020-11-08). 
  19. ^ jQuery 3.2.0 Is Out!. jQuery Blog. 16 March 2017 [12 March 2018]. (原始内容存档于2020-11-24). 
  20. ^ jQuery 3.4.0 Released. jQuery Blog. 2018-04-10 [2019-04-15]. (原始内容存档于2021-01-15). 
  21. ^ jQuery 3.4.1: triggering focus events in IE and finding root elements in iOS 10. jQuery Blog. jQuery Foundation. [2020-10-21]. (原始内容存档于2020-12-01). 
  22. ^ jQuery 3.5.0 Released!. jQuery Blog. 2020-04-10 [2020-04-11]. (原始内容存档于2020-12-21). 
  23. ^ jQuery 3.5.1 Released: Fixing a Regression. jQuery Blog. jQuery Foundation. [2020-10-21]. (原始内容存档于2020-11-25). 
  24. ^ jQuery 3.6.0 Released!. jQuery Blog. 2020-04-10 [2023-10-23]. (原始内容存档于2021-03-15) (美国英语). 
  25. ^ jQuery 3.6.4 Released: Selector Forgiveness. jQuery Blog. 2023-03-08 [2023-10-23]. (原始内容存档于2023-03-11) (美国英语). 
  26. ^ jquery v3.6.4. [2023-03-08]. (原始内容存档于2023-03-08) (英语). 
  27. ^ jQuery 3.7.0 Released: Staying in Order | Official jQuery Blog. 2023-05-11 [2023-10-23]. (原始内容存档于2023-06-08) (美国英语). 
  28. ^ jQuery 3.7.1 Released: Reliable Table Row Dimensions | Official jQuery Blog. 2023-08-28 [2023-10-23]. (原始内容存档于2023-08-31) (美国英语). 
  29. ^ jquery v3.7.0. bundlephobia.com. [2023-10-23]. (原始内容存档于2023-07-26) (英语). 
  30. ^ 存档副本. [2017-11-11]. (原始内容存档于2014-07-21). 
  31. ^ 存档副本. [2020-09-26]. (原始内容存档于2019-10-17). 

相關書籍

英文
  • Learning jQuery, ISBN 1-84719-250-5
  • jQuery in Action, ISBN 1-933988-35-5
  • Pro JavaScript Techniques, ISBN 1-59059-727-3
中文
  • 锋利的jQuery , ISBN 978-7-115-20701-2
  • 網頁設計?愛上jQuery, ISBN 978-986-6850-84-4
  • Learning jQuery中文版,ISBN 978-986-6761-60-7
  • jQuery UI & Plugins, ISBN 978-986-6551-11-6
  • 你不能錯過的 jQuery 指南 ISBN 9789572244173

外部連結

  • jQuery官方网站(页面存档备份,存于互联网档案馆
  • jQuery UI官方网站(页面存档备份,存于互联网档案馆
  • jQuery - Google Code (页面存档备份,存于互联网档案馆)(各版本JQuery的下載處)
  • YouTube上的jQuery(2008年4月3日,Google Tech Talks)
  • Github上的jQuery 原始碼 (页面存档备份,存于互联网档案馆
语言
引擎列表
引擎比较
框架
客户端
  • Ample SDK英语Ample SDK
  • Chaplin.js英语Chaplin.js
  • Dojo
  • Echo
  • Extjs
  • Google網頁工具包
  • JQuery
  • Lively Kernel英语Lively Kernel
  • midori英语Midori JavaScript Framework
  • MochiKit英语MochiKit
  • MooTools英语MooTools
  • Prototype
  • Pyjs英语Pyjs
  • qooxdoo英语qooxdoo
  • Rialto英语Rialto Toolkit
  • Rico
  • script.aculo.us英语script.aculo.us
  • SmartClient英语SmartClient
  • SproutCore英语SproutCore
  • Spry英语Spry framework
  • Wakanda框架英语Wakanda (software)
  • 雅虎UI库
服务器
  • AppJet英语AppJet
  • Jaxer英语Jaxer#Aptana Jaxer
  • Node.js
  • Deno
  • WakandaDB英语Wakanda (software)
多種實作
  • Cappuccino英语Cappuccino (application development framework)
    • Objective-J英语Objective-J
  • PureMVC英语PureMVC
函式庫
  • Backbone.js
  • SWFObject英语SWFObject
  • SWFAddress英语SWFAddress
  • Lodash
人物
其他
  • DHTML
  • Ecma国际
  • JSDoc英语JSDoc
  • JSGI英语JSGI
  • JSHint
  • JSLint
  • JSON
  • JSSS英语JavaScript Style Sheets
  • Sputnik英语Sputnik (JavaScript conformance test)
  • SunSpider英语Browser speed test#SunSpider
  • 异步模块定义英语Asynchronous module definition
  • CommonJS
列表级条目列表
JavaScript库列表
Ajax框架英语list of Ajax frameworks#JavaScript
列表级条目比较
JavaScript框架英语Comparison of JavaScript frameworks
服务器端JavaScript英语comparison of server-side JavaScript solutions
C++
  • CppCMS英语CppCMS
  • Wt英语Wt (web toolkit)
CLI
  • ASP.NET
    • Core
    • AJAX
    • 动态数据英语ASP.NET Dynamic Data
    • MVC
    • Razor英语ASP.NET Razor
    • Web Forms
  • 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
  • Vibe.d英语Vibe.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
  • Catalyst
  • Dancer英语Dancer (software)
  • Mason英语Mason (Perl)
  • Maypole
  • Mojolicious英语Mojolicious
  • WebGUI
PHP
  • CakePHP英语CakePHP
  • CodeIgniter
  • Fat-Free
  • FuelPHP
  • Gyroscope英语Gyroscope (software)
  • Horde英语Horde (software)
  • Kohana英语Kohana (framework)
  • Laravel
  • Lithium英语Lithium (software)
  • Midgard英语Midgard (software)
  • MODX英语MODX
  • Nette英语Nette Framework
  • Phalcon
  • PRADO英语PRADO (framework)
  • Qcodo英语Qcodo
  • Silex英语Silex (web framework)
  • SilverStripe
  • Symfony
  • TYPO3
  • Xaraya英语Xaraya
  • XOOPS
  • Yii英语Yii
  • Zend framework
Python
Ruby
  • Camping英语Camping (microframework)
  • Merb英语Merb
  • Padrino英语Padrino (web framework)
  • Ruby on Rails
  • Sinatra英语Sinatra (software)
Rust
  • Yew
Scala
  • Lift
  • Play
  • Scalatra英语Scalatra
Smalltalk
  • AIDA/Web英语AIDA/Web
  • Seaside英语Seaside (software)
其他语言
  • Application Express英语Oracle Application ExpressPL-SQL
  • Grails英语Grails (framework)Groovy
  • Kepler英语Kepler (software)Lua
  • OpenACS英语OpenACSTcl
  • Phoenix英语Phoenix (web framework)Elixir
  • SproutCore英语SproutCoreJavaScript-Ruby
  • YawsErlang
部件工具箱列表英语List of widget toolkits
低级
AmigaOS平台
  • Intuition英语Intuition (Amiga)
未知/原生
  • Macintosh Toolbox英语Macintosh Toolbox
  • Carbon
桌面
  • Xamarin.Mac英语Xamarin#Xamarin.Mac
移动端
Windows平台
BeOS/Haiku平台
  • OpenTK英语OpenTK
  • GDK英语GDK
  • JOGL英语Java OpenGL
Android平台
高级
AmigaOS平台
  • BOOPSI英语BOOPSI
  • MUI英语Magic User Interface
  • ReAction GUI英语ReAction GUI
  • Zune英语Zune (widget toolkit)
  • Carbon
  • MacApp英语MacApp
桌面
移动端
  • MacZoop英语MacZoop
  • PowerPlant英语PowerPlant
Windows平台
桌面
  • MFC
  • ATL
  • WTL
  • SmartWin++英语SmartWin++
  • OWL
  • VCL英语Visual Component Library
  • Athena (Xaw)
  • InterViews英语InterViews
  • LessTif英语LessTif
  • Motif
  • OLIT英语OLIT
  • XForms英语XForms (toolkit)
Android平台
跨平台
按语言划分
  • GTK+
  • IUP英语IUP (software)
  • Tk
  • wxC
  • XForms英语XForms (toolkit)
  • XVT英语XVT
  • CEGUI英语CEGUI
  • CLX英语Component Library for Cross Platform
  • FLTK
  • FOX toolkit英语Fox toolkit
  • GLUI英语OpenGL User Interface Library
  • Gtkmm
  • JUCE英语JUCE
  • Nana英语Nana (C++ library)
  • Qt
  • Rogue Wave Views英语Rogue Wave Software
  • TnFOX英语TnFOX
  • Ultimate++英语Ultimate++
  • VCF英语Visual Component Framework
  • Wt英语Wt (web toolkit)
  • WxWidgets
  • YAAF英语YAAF
桌面
  • Gtk#
  • Tao英语Tao FrameworkOpenTK英语OpenTKTaoClassic英语TaoClassic
  • wx.NET
  • UIML.NET英语UIML
  • MonoGame英语MonoGame
Web
  • Moonlight英语Moonlight (runtime)
移动端
  • DFL
  • DlangUI
  • DWT
  • GTK+
  • QtD
  • wxD
  • Gtk2Hs
  • wxHaskell英语wxHaskell
桌面
Web
移动端
  • LWUIT英语Lightweight User Interface Toolkit
  • CAPI英语LispWorks
  • CLIM英语Common Lisp Interface Manager
  • Common Graphics英语Allegro Common Lisp
  • Ltk
  • McCLIM英语Common Lisp Interface Manager
  • IUP英语IUP (software)
  • wxLua
桌面
移动端
桌面
  • CLX英语Component Library for Cross Platform
  • fpGUI英语fpGUI
  • IP Pascal英语IP Pascal
  • LCL
移动端
  • PHP-GTK英语PHP-GTK
  • PHP-Qt英语PHP-Qt
  • wxPHP英语wxPHP
  • Ample SDK英语Ample SDK
  • GladeXML
  • Lively Kernel英语Lively Kernel
  • Pyjs英语Pyjs
  • Rialto Toolkit英语Rialto Toolkit
  • XAML
  • XUI英语XML User Interface
  • XUL
  • Wt英语Wt (web toolkit)
规范控制数据库:各地 編輯維基數據鏈接
  • 德国
  • 捷克