所以我正在寻找的是一个我可以使用的具有多个 UI 控件的 javascript 框架。我看过jQuery,但与 ExtJS 相比,这些控件非常基本。还有其他有竞争力的选择吗?
这个问题的存在是因为它具有历史意义,但它不被认为是本网站的一个很好的主题问题,因此请不要将其用作您可以在这里提出类似问题的证据。更多信息:帮助中心。
就社区规模和在 StackOverflow 上的存在而言,没有什么能与extjs相提并论。尽管之前存在争议,Ext JS 现在拥有GPLv3 开源许可证。它的学习曲线很长,但是一旦学会了,它就会很有收获。Ext JS缺少 Material Design 主题,团队一再拒绝在 GitHub 上发布源代码。对于移动设备,必须使用单独的 Sencha Touch 库。
还要记住,
大型 JavaScript 库,例如 YUI,在社区中受到的关注较少。今天,许多开发人员将大型 JavaScript 库视为他们不想被锁定的围墙花园。
-- YUI开发停止公告
也就是说,下面是一些当前可用的 Ext JS 替代品。
Blueprint是由大数据分析公司Palantir在 TypeScript 中开发的基于 React 的 UI 工具包,“针对为桌面应用程序构建复杂的数据密集型界面进行了优化”。截至 2019 年 5 月在 GitHub 上积极开发,具有全面的文档。组件范围从简单(芯片、吐司、图标)到复杂(树、数据表、带有自动完成功能的标签输入、日期范围选择器。没有手风琴或调整大小。
Blueprint 面向现代浏览器(Chrome、Firefox、Safari、IE 11 和 Microsoft Edge),并根据修改后的 Apache 许可证获得许可。
Webix - 一个先进的、易学的、移动友好的、响应式的和丰富的免费开源 JavaScript UI 组件库。Webix从DHTMLX Touch (一个开发了 8 年的项目 - 见下文)中分离出来,并继续成为一个独立的 UI 组件框架。GPL3 版本 允许商业使用,并允许使用 Webix的非 GPL 应用程序通过FLOSS 的许可证豁免来保留其许可证,例如 MIT 。Webix 有 55 个 UI 小部件,包括树、网格、treegrids 和图表。资金来自带有一些高级小部件(Pivot、Scheduler、Kanban、org chart )的商业版ETC。)。Webix 拥有广泛的免费和商业小部件列表,并与最流行的框架(React、Vue、Meteor 等)和UI 组件集成。
皮肤看起来很现代,并包含Material Design主题。Touch 主题看起来也很像 Material Design 。另请参阅皮肤生成器。
最小的 GitHub 存在,但包括库代码和文档(仍需要重大改进)。Webix 的缺点是团队规模小且缺乏营销。但是,他们一直在响应用户反馈,无论是在 GitHub 上还是在他们的论坛上。
该库很精简(截至 2015 年,所有 55 个小部件都为 128Kb gzip+minified),比 ExtJS、dojo 和其他更快,而且设计看起来很漂亮。当前版本的 Webix(v6,截至 2018 年 11 月)变得更重(400 - 676kB 缩小但未压缩)。
Webix.com上的演示外观和功能都很棒。开发商XB Software将 Webix 用于他们为付费客户构建的解决方案中,因此可能会有一个良好的、有资金支持的未来。
react-md - 麻省理工学院许可的 React 材料设计 UI 组件库。响应迅速,可访问。实现从简单(按钮、卡片)到复杂(可排序表、自动完成、标签输入、日历)的组件。一位主要作者,约 1900 颗 GitHub 星。
kendo - 基于 jQuery 的 UI 工具包,具有 40 多个基本的开源小部件,以及商业专业小部件(网格、树、图表等)。响应式和移动支持。适用于 Bootstrap 和 AngularJS。现代,具有材料设计主题。该文档可在 GitHub 上获得,它已经启用了来自用户的大量贡献(截至 2015 年 1 月,4500 多个提交,500 多个 PR)。
在商业上得到了很好的支持,声称拥有数百万开发人员,并且是一个大型开发人员工具系列的一部分。Telerik 获得了许多赞誉,是一家跨国公司(美国保加利亚),被Progress Software收购,是思想 领袖。
Kendo UI Professional 开发人员许可证费用为 700 美元,大多数论坛的发布访问权限取决于拥有许可证或处于试用期。
[维基百科] • GitHub/Telerik •演示• Playground •工具
OpenUI5 -基于 jQuery 的UI 框架,包含 180 个小部件,获得 Apache 2.0 许可,完全开源,由德国软件巨头SAP SE资助。
社区比 Webix 大得多,SAP正在招聘开发人员来发展 OpenUI5,他们在 OSCON 2014 上展示了 OpenUI5。
桌面主题相当乏味,但面向网络和移动设备的 Fiori 设计看起来干净利落。
DHTMLX - 用于构建丰富的 Web 和移动应用程序的 JavaScript 库。看起来最像 ExtJS - 检查演示。自 2005 年以来一直在开发,但看起来仍然很现代。除 TreeGrid 之外的所有组件都在 GPLv2 下可用,但许多组件的高级功能仅在商业 PRO 版本中可用 - 参见例如树。声称被许多财富 500 强公司使用。
在 GitHub(缺少主库代码)和StackOverflow但活跃的论坛上的存在最少。该文档在 GitHub 上不可用,这使得社区难以改进。
Polymer,一种 Web Components 填充物,加上Polymer Paper,Google 的 Material 设计实现。针对网络和移动应用程序。没有树甚至网格之类的高级小部件,但它提供的控件是移动优先且响应迅速的。被许多大玩家使用,例如IBM或USA Today。
Ant Design声称它是“一种用于后台应用程序的设计语言”,受“自然”的影响,帮助设计师“为开发者团队创造低熵氛围”。这可能是“企业 Web 应用程序的 UI 组件”的中文翻译很差。这是一个用 TypeScript 编写的 React UI 库,包含许多组件,从简单(按钮、卡片)到高级(自动完成、日历、标签输入、表格)。
该项目诞生于中国,深受中国公司欢迎,部分文档仅提供中文版本。在 GitHub 上很受欢迎,但它犯了将社区分成中英文聊天室的错误。该设计看起来像 Material-ish,但字体很小,而且信息看起来在空白处丢失。
PrimeUI - 基于 jQuery UI 的 45 多个丰富小部件的集合。阿帕奇 2.0 许可证。小型GitHub 社区。提供 35 个高级主题。
qooxdoo - “具有一组连贯的单个组件的通用 JavaScript 框架”,由德国托管服务提供商 1&1 开发和资助(参见贡献者,世界上最大的托管公司之一。GPL/ EPL(商业友好许可证)。
移动主题看起来很现代,但桌面主题看起来很旧(渐变)。
jQuery UI - 易于上手;看起来有点过时;缺少高级小部件。当然,您可以将它与特定需求的独立小部件组合起来,例如树或其他 UI 组件,但对于任何其他框架也可以这样说。
角度+角度用户界面。虽然 Angular 得到了 Google 的支持,但它在即将到来的 2.0 版本中进行了彻底改造,并且“用户将需要掌握一种新的架构。还确认不会有从 Angular 1.X 迁移到2.0 ”。此外,共识似乎是Angular 2 直到一两年后才能真正投入使用。Angular UI 的小部件相对较少(例如,没有树)。
DojoToolkit及其强大的 Dijit小部件集。完全开源并在 GitHub 上积极开发,但现在(2018 年 11 月)开发集中在新的dojo.io框架上,该框架几乎没有基本的小部件。BSD/AFL 许可证。开发始于 2004 年,Dojo 基金会由 IBM、Google 和其他公司赞助 - 请参阅Wikipedia。关于 SO 的 7500 个问题。
主题看起来面向桌面且过时 - 请参阅dijit 中的主题测试器。官方主题预览器坏了,只显示“Claro”。存在一个Bootstrap 主题,它看起来很像 Bootstrap,但不使用 Bootstrap 类。2015 年 1 月,我开始了一个关于为 Dojo 构建 Material Design 主题的主题,该主题在最初的几个小时内就很受欢迎。但是,对于为当前 Dojo 1.10 与下一个 Dojo 2.0构建该主题存在疑问。对该主题的回复显示了一个活跃而广泛的社区,涵盖了许多时区。
不幸的是,Dojo 已经不再流行,使用它的公司似乎也越来越少,尽管在企业界(曾经?)拥有强大的立足点。在 2009-2012 年,它的学习曲线陡峭,文档需要改进;虽然文档有了很大的改进,但目前还不清楚使用 Dojo 有多么容易。
对于Material Design 主题,Dojo(2.0?)可能是杀手级 UI 组件框架。
Enyo - 针对移动和电视应用程序的前端库(例如大型触摸友好控件)。由 LG Electronix 开发并在 GitHub 上获得 Apache 许可。
激进的Cappuccino - Objective-J(JavaScript 的超集)而不是 HTML+CSS+DOM
Mochaui,MooTools UI 库用户界面库。<300 GitHub 星。
CrossUI - 跨浏览器 JS 框架,用于开发和打包完全相同的代码和 UI 到 Web 应用程序、本机桌面应用程序(Windows、OS X、Linux)和移动应用程序(iOS、Android、Windows Phone、黑莓)。开源 LGPL3。特色 RAD 工具(表单生成器等)。UI 看起来是面向桌面的,而不是面向 Web 的。积极开发,小社区。在 GitHub 上不存在。
ZinoUI - 简单的小部件。例如,DataTable 甚至不支持排序。
Wijmo - 漂亮的商业小部件,旧的(jQuery UI)小部件在 GitHub 上开源(他们的开发于 2013 年停止)。由GrapeCity 的一个部门ComponentOne开发。请参阅Wijmo Complete 与 Open。
CxJS - 基于 React、Babel 和 webpack 的商业 JS 框架,提供表单元素、表单验证、高级网格控制、导航元素、工具提示、覆盖、图表、路由、布局支持、主题、文化相关格式等。
SproutCore - 由 Apple 为具有本机性能的 Web 应用程序开发,在客户端处理大型数据集。为 iCloud.com 提供支持。不适用于小部件。
Wakanda:针对商业/企业网络应用程序 - 请参阅什么是 Wakanda?. 建筑学:
Wakanda 应用程序框架(数据源层 + 基于浏览器的界面小部件)有助于跨桌面和移动设备的浏览器和设备兼容性
Wakanda 高度集成,包含大量开箱即用的功能,但GitHub 社区和SO 存在非常小。
Servoy - “SQL 数据库的跨平台前端开发和部署环境”。拥有“完整的 WYSIWIG(所见即所得)HTML5 UI 设计器,具有与后端服务的内置数据绑定”、响应式设计,支持 HTML6 Web 组件、Websockets 和移动平台。用 Java 编写并使用各种 JavaBean生成 JavaScript 代码。
SmartClient/SmartGWT - 与 Java 服务器相结合的移动和跨浏览器 HTML5 UI 组件。旨在构建功能强大的商业应用程序 - 请参阅演示。
Vaadin - 全栈 Java/GWT + JavaScript/HTML3 Web 应用程序框架
Backbase - 门户软件
Shiny - R 上的前端库,具有可视化、布局和控制小部件
ZKOSS : Java+jQuery+Bootstrap 框架,用于构建企业 Web 和移动应用程序。
这些库不实现复杂的小部件,例如带有排序/过滤、自动完成或树的表格。
Foundation for Apps - 基于 AngularJS 的响应式前端框架;更多的网格/布局/导航库
UI Kit - 类似于 Bootstrap,具有更少的小部件,但带有官方的非画布。
使用画布元素可以完全控制 UI,并具有出色的跨浏览器兼容性,但代价是缺少原生浏览器功能,例如通过 Ctrl/Cmd+F 进行页面搜索。