ExtJS 的替代品是什么?
没有什么可比的 extjs在 StackOverflow 上的社区规模和存在方面。尽管之前存在争议,但 Ext JS 现在拥有GPLv3 开源许可证。它的学习曲线很长,但一旦学会就会很有收获。Ext JS缺少 Material Design 主题,团队多次拒绝在 GitHub 上发布源代码。对于移动设备,必须使用单独的 Sencha Touch 库。
还要记住,
大型 JavaScript 库,例如 YUI,受到社区的关注较少。如今,许多开发人员将大型 JavaScript 库视为他们不想被锁定的围墙花园。
-- YUI 开发停止公告
也就是说,下面是一些当前可用的 Ext JS 替代品。
领先的客户端小部件库
Blueprint是一个基于 React 的 UI 工具包,由大数据分析公司Palantir在 TypeScript 中开发,并“针对为桌面应用程序构建复杂的数据密集界面进行了优化”。截至 2019 年 5 月,在 GitHub 上积极开发,并提供全面的文档。组件范围从简单(芯片、吐司、图标)到复杂(树、数据表、带有自动完成功能的标签输入、日期范围选择器。没有手风琴或调整器。
Blueprint 针对现代浏览器(Chrome、Firefox、Safari、IE 11 和 Microsoft Edge),并根据修改后的 Apache 许可证获得许可。
Webix - 先进、易学、移动友好、响应迅速且丰富的免费和开源 JavaScript UI 组件库。Webix分拆从DHTMLX触摸(用8年时间其背后的发展项目-见下文),后来成为一个独立的UI组件框架。在GPL3版 允许商业使用,并允许使用Webix非GPL应用程序保持其牌照,如麻省理工学院,通过对FLOSS许可豁免。Webix 有 55 个 UI 小部件,包括树、网格、树形网格和图表。资金来自带有一些高级小部件(数据透视表、调度程序、看板、组织结构图)的商业版本等等。)。Webix 拥有大量免费和商业小部件列表,并与最流行的框架(React、Vue、Meteor 等)和UI 组件集成。
皮肤看起来很现代,并包含一个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 - MIT 许可的用于 React 的 Material Design UI 组件库。响应式,可访问。实现从简单(按钮、卡片)到复杂(可排序表格、自动完成、标签输入、日历)的组件。一位主要作者,约 1900 个 GitHub 星。
剑道- 基于 jQuery 的 UI 工具包,包含 40 多个基本开源小部件,以及商业专业小部件(网格、树、图表等)。响应式和移动支持。适用于 Bootstrap 和 AngularJS。现代,具有Material Design 主题。该文档可在 GitHub 上找到,该文档已使用户做出了大量贡献(截至 2015 年 1 月,4500 多次提交,500 多次 PR)。
在商业上得到很好的支持,拥有数百万的开发人员,并且是大型开发人员工具系列的一部分。Telerik 获得了许多赞誉,是一家跨国公司(美国保加利亚),被Progress Software收购,是思想 领袖。
一个剑道UI专业开发人员许可证费用$ 700,并张贴访问大多数论坛在有执照或在试用期内的是空调。
[维基百科] • GitHub/Telerik •演示• Playground •工具
OpenUI5 -基于 jQuery 的UI 框架,包含 180个小部件,Apache 2.0 许可,完全开源,由德国软件巨头SAP SE资助。
社区是更大的比Webix的,SAP正在招聘开发人员成长OpenUI5,他们提出OpenUI5在OSCON 2014。
桌面主题相当乏味,但用于 Web 和移动设备的Fiori 设计看起来干净整洁。
DHTMLX - 用于构建丰富的 Web 和移动应用程序的 JavaScript 库。看起来最像 ExtJS - 检查演示。自 2005 年以来已开发,但看起来仍然很现代。除了 TreeGrid 之外的所有组件都在 GPLv2 下可用,但许多组件的高级功能仅在商业 PRO 版中可用 - 例如树。声称被许多财富 500 强公司使用。
GitHub 上的存在最少(缺少主库代码)和StackOverflow但活跃的论坛。该文档在 GitHub 上不可用,这使得社区难以改进。
Polymer,一个 Web Components polyfill,加上Polymer Paper,谷歌的 Material design 实现。针对网络和移动应用程序。没有像树甚至网格这样的高级小部件,但它提供的控件是移动优先和响应式的。许多大公司都在使用,例如IBM或USA Today。
Ant Design声称它是“一种用于后台应用程序的设计语言”,受“自然”的影响,帮助设计师“为开发团队营造低熵氛围”。对于“企业 Web 应用程序的 UI 组件”而言,这可能是一个糟糕的中文翻译。它是一个用 TypeScript 编写的 React UI 库,有许多组件,从简单的(按钮、卡片)到高级(自动完成、日历、标签输入、表格)。
该项目诞生于中国,深受中国企业欢迎,部分文档仅提供中文版本。在 GitHub 上相当流行,却犯了将社区分成中英文聊天室的错误。设计看起来像 Material 一样,但字体很小,信息在空白处看起来丢失了。
PrimeUI - 基于 jQuery UI 的 45 多个丰富小部件的集合。Apache 2.0 许可证。小型GitHub 社区。35 个高级主题可用。
qooxdoo - “具有一组连贯独立组件的通用 JavaScript 框架”,由德国托管服务提供商 1&1 开发和资助(参见贡献者,世界上最大的托管公司之一。GPL/ EPL(商业友好许可证)。
移动主题看起来很现代,但桌面主题看起来很旧(渐变)。
jQuery UI - 易于上手;看起来有点过时;缺乏高级小部件。当然,您可以将它与用于特定需求的独立小部件结合起来,例如树或其他 UI 组件,但对于任何其他框架也可以这样说。
有角的+角度用户界面。虽然 Angular 得到了谷歌的支持,但它在即将到来的 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。这里有 7500 个关于 SO 的问题。
主题看起来面向桌面且过时 - 请参阅dijit 中的主题测试器。该官方主题预览被打破,只显示“克拉罗”。存在一个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 许可。
激进的卡布奇诺咖啡——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 Server(服务器端JavaScript(自定义引擎)+开源NoSQL数据库)
- 用于表格、表格、报告的桌面 IDE 和 WYSIWYG 编辑器
Wakanda 应用程序框架(数据源层 + 基于浏览器的界面小部件),有助于跨桌面和移动设备的浏览器和设备兼容性
Wakanda 高度集成,包括大量开箱即用的功能,但有一个非常小的 GitHub 社区和SO 存在。
Servoy - “SQL 数据库的跨平台前端开发和部署环境”。拥有“完整的 WYSIWIG(所见即所得)UI 设计器,具有内置数据绑定到后端服务的 HTML5”、响应式设计、对 HTML6 Web 组件、Websockets 和移动平台的支持。用 Java 编写并使用各种 JavaBean生成 JavaScript 代码。
SmartClient/SmartGWT - 与 Java 服务器相结合的移动和跨浏览器 HTML5 UI 组件。旨在构建强大的业务应用程序 - 请参阅演示。
Vaadin - 全栈 Java/GWT + JavaScript/HTML3 Web 应用程序框架
Backbase - 门户软件
Shiny - R 上的前端库,具有可视化、布局和控制小部件
ZKOSS:用于构建企业 Web 和移动应用程序的 Java+jQuery+Bootstrap 框架。
CSS 库 + 最少的小部件
这些库不实现复杂的小部件,例如带有排序/过滤、自动完成或树的表格。
Foundation for Apps - 基于 AngularJS 的响应式前端框架;更多的网格/布局/导航库
UI Kit - 类似于 Bootstrap,具有较少的小部件,但有官方的画布。
使用 HTML Canvas 的库
使用画布元素可以完全控制 UI,并具有出色的跨浏览器兼容性,但代价是缺少本机浏览器功能,例如通过 Ctrl/Cmd+F 进行页面搜索。
2014 年 12 月不再开发
- 雅虎!用户界面 - YUI于 2005 年推出,但不再由核心贡献者维护 - 请参阅公告,其中强调了大型 UI 小部件库被视为开发人员不想被锁定的围墙花园的原因。
- 回声3,GitHub。支持编写不需要开发人员具备 HTML、HTTP 或 JavaScript 知识的服务器端 Java 应用程序,或者基于客户端 JavaScript 的应用程序不需要服务器,但可以通过 AJAX 与服务器通信。最后更新:2013 年 7 月。
- 充足的SDK
- 更简单的小部件livepipe.net
- 库
- 里亚托
- 简单的用户界面工具包
- 原型-ui
其他列表
- Best of JS - 组件工具包
- 维基百科的JavaScript 框架比较
- 维基百科的GUI 相关 JavaScript 库列表
- jqueryuiwidgets.com - 详细的 jQuery 小部件功能比较