65

所以我正在寻找的是一个我可以使用的具有多个 UI 控件的 javascript 框架。我看过jQuery,但与 ExtJS 相比,这些控件非常基本。还有其他有竞争力的选择吗?

这个问题的存在是因为它具有历史意义,但它不被认为是本网站的一个很好的主题问题,因此请不要将其用作您可以在这里提出类似问题的证据。更多信息:帮助中心

4

1 回答 1

385

就社区规模和在 StackOverflow 上的存在而言,没有什么能与尽管之前存在争议,Ext JS 现在拥有GPLv3 开源许可证。它的学习曲线很长,但是一旦学会了,它就会很有收获。Ext JS缺少 Material Design 主题,团队一再拒绝在 GitHub 上发布源代码。对于移动设备,必须使用单独的 Sencha Touch 库。

还要记住,

大型 JavaScript 库,例如 YUI,在社区中受到的关注较少。今天,许多开发人员将大型 JavaScript 库视为他们不想被锁定的围墙花园。

-- YUI开发停止公告

也就是说,下面是一些当前可用的 Ext JS 替代品。

领先的客户端小部件库

  1. Blueprint是由大数据分析公司Palantir在 TypeScript 中开发的基于 React 的 UI 工具包,“针对为桌面应用程序构建复杂的数据密集型界面进行了优化”。截至 2019 年 5 月在 GitHub 上积极开发,具有全面的文档。组件范围从简单(芯片吐司图标)到复杂(、数据表、带有自动完成功能的标签输入日期范围选择器。没有手风琴调整大小

    Blueprint 面向现代浏览器(Chrome、Firefox、Safari、IE 11 和 Microsoft Edge),并根据修改后的 Apache 许可证获得许可

    沙盒/演示GitHubDocs

  2. Webix - 一个先进的、易学的、移动友好的、响应式的和丰富的免费开源 JavaScript UI 组件库。WebixDHTMLX Touch (一个开发了 8 年的项目 - 见下文)中分离出来,并继续成为一个独立的 UI 组件框架。GPL3 版本 允许商业使用,并允许使用 Webix的非 GPL 应用程序通过FLOSS 的许可证豁免来保留其许可证,例如 MIT 。Webix 有 55 个 UI 小部件,包括树、网格、treegrids 和图表。资金来自带有一些高级小部件(Pivot、Scheduler、Kanban、org chart )的商业版ETC。)。Webix 拥有广泛的免费和商业小部件列表,并与最流行的框架(React、Vue、Meteor 等)和UI 组件集成。

    Webix

    皮肤看起来很现代,并包含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 用于他们为付费客户构建的解决方案中,因此可能会有一个良好的、有资金支持的未来。

    Webix 的目标是向后兼容到 IE8,因此带来了一些技术债务

    WikipediaGitHubPlayground/sandbox管理仪表板演示演示小部件示例

  3. react-md - 麻省理工学院许可的 React 材料设计 UI 组件库。响应迅速,可访问。实现从简单(按钮、卡片)到复杂(可排序表、自动完成、标签输入、日历)的组件。一位主要作者,约 1900 颗 GitHub 星。

  4. - 基于 jQuery 的 UI 工具包,具有 40 多个基本的开源小部件,以及商业专业小部件(网格、树、图表等)。响应式和移动支持。适用于 Bootstrap 和 AngularJS。现代,具有材料设计主题。该文档可在 GitHub 上获得,它已经启用了来自用户的大量贡献(截至 2015 年 1 月,4500 多个提交,500 多个 PR)。

    在此处输入图像描述

    在商业上得到了很好的支持,声称拥有数百万开发人员,并且是一个大型开发人员工具系列的一部分。Telerik 获得了许多赞誉,是一家跨国公司(美国保加利亚),被Progress Software收购,是思想 领袖

    Kendo UI Professional 开发人员许可证费用为 700 美元,大多数论坛的发布访问权限取决于拥有许可证或处于试用期。

    [维基百科] • GitHub/Telerik演示Playground工具

  5. OpenUI5 -基于 jQuery 的UI 框架,包含 180 个小部件,获得 Apache 2.0 许可,完全开源,由德国软件巨头SAP SE资助。

    OpenUI5

    社区比 Webix 大得多,SAP正在招聘开发人员来发展 OpenUI5,他们在 OSCON 2014 上展示了 OpenUI5

    桌面主题相当乏味,但面向网络和移动设备的 Fiori 设计看起来干净利落。

    维基百科GitHub移动优先控件演示桌面控件演示SO

  6. DHTMLX - 用于构建丰富的 Web 和移动应用程序的 JavaScript 库。看起来最像 ExtJS - 检查演示自 2005 年以来一直在开发,但看起来仍然很现代。除 TreeGrid 之外的所有组件都在 GPLv2 下可用,但许多组件的高级功能仅在商业 PRO 版本中可用 - 参见例如。声称被许多财富 500 强公司使用。

    DHTMLX

    在 GitHub(缺少主库代码)和StackOverflow活跃的论坛上的存在最少。该文档在 GitHub 上不可用,这使得社区难以改进。

  7. Polymer,一种 Web Components 填充物,加上Polymer Paper,Google 的 Material 设计实现。针对网络和移动应用程序。没有树甚至网格之类的高级小部件,但它提供的控件是移动优先且响应迅速的。被许多大玩家使用,例如IBMUSA Today

    聚合物纸元素

  8. Ant Design声称它是“一种用于后台应用程序的设计语言”,受“自然”的影响,帮助设计师“为开发者团队创造低熵氛围”。这可能是“企业 Web 应用程序的 UI 组件”的中文翻译很差。这是一个用 TypeScript 编写的 React UI 库,包含许多组件,从简单(按钮、卡片)到高级(自动完成日历标签输入表格)。

    该项目诞生于中国深受中国公司欢迎,部分文档仅提供中文版本。在 GitHub 上很受欢迎,但它犯了将社区分成中英文聊天室的错误。该设计看起来像 Material-ish,但字体很小,而且信息看起来在空白处丢失。

  9. PrimeUI - 基于 jQuery UI 的 45 多个丰富小部件的集合。阿帕奇 2.0 许可证。小型GitHub 社区。提供 35 个高级主题。

  10. qooxdoo - “具有一组连贯的单个组件的通用 JavaScript 框架”,由德国托管服务提供商 1&1 开发和资助(参见贡献者,世界上最大的托管公司之一。GPL/ EPL(商业友好许可证)。

    移动主题看起来很现代,但桌面主题看起来很旧(渐变)。

    酷狗

    维基百科GitHubWeb/移动/桌面演示小部件演示浏览器小部件浏览器SO游乐场社区

  11. jQuery UI - 易于上手;看起来有点过时;缺少高级小部件。当然,您可以将它与特定需求的独立小部件组合起来,例如其他 UI 组件,但对于任何其他框架也可以这样说。

  12. +角度用户界面。虽然 Angular 得到了 Google 的支持,但它在即将到来的 2.0 版本中进行了彻底改造,并且“用户将需要掌握一种新的架构。还确认不会有从 Angular 1.X 迁移到2.0 ”。此外,共识似乎是Angular 2 直到一两年后才能真正投入使用。Angular UI 的小部件相对较少(例如,没有树)。

  13. 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 组件框架。

    维基百科GitHub主题演示桌面小部件SO

  14. Enyo - 针对移动和电视应用程序的前端库(例如大型触摸友好控件)。由 LG Electronix 开发并在 GitHub 上获得 Apache 许可

  15. 激进的Cappuccino - Objective-J(JavaScript 的超集)而不是 HTML+CSS+DOM

  16. Mochaui,MooTools UI 库用户界面库。<300 GitHub 星。

  17. CrossUI - 跨浏览器 JS 框架,用于开发和打包完全相同的代码和 UI 到 Web 应用程序、本机桌面应用程序(Windows、OS X、Linux)和移动应用程序(iOS、Android、Windows Phone、黑莓)。开源 LGPL3。特色 RAD 工具(表单生成器等)。UI 看起来是面向桌面的,而不是面向 Web 的。积极开发,小社区在 GitHub 上不存在

  18. ZinoUI - 简单的小部件。例如,DataTable 甚至不支持排序。

  19. Wijmo - 漂亮的商业小部件,旧的(jQuery UI)小部件在 GitHub 上开源(他们的开发于 2013 年停止)。由GrapeCity 的一个部门ComponentOne开发。请参阅Wijmo Complete 与 Open

  20. CxJS - 基于 React、Babel 和 webpack 的商业 JS 框架,提供表单元素、表单验证、高级网格控制、导航元素、工具提示、覆盖、图表、路由、布局支持、主题、文化相关格式等。

CxJS

小部件-演示应用程序-示例- GitHub

全栈框架

  1. SproutCore - 由 Apple 为具有本机性能的 Web 应用程序开发,在客户端处理大型数据集。为 iCloud.com 提供支持。不适用于小部件。

  2. Wakanda:针对商业/企业网络应用程序 - 请参阅什么是 Wakanda?. 建筑学:

  3. Servoy - “SQL 数据库的跨平台前端开发和部署环境”。拥有“完整的 WYSIWIG(所见即所得)HTML5 UI 设计器,具有与后端服务的内置数据绑定”、响应式设计,支持 HTML6 Web 组件、Websockets 和移动平台。用 Java 编写并使用各种 JavaBean生成 JavaScript 代码。

  4. SmartClient/SmartGWT - 与 Java 服务器相结合的移动和跨浏览器 HTML5 UI 组件。旨在构建功能强大的商业应用程序 - 请参阅演示

  5. Vaadin - 全栈 Java/GWT + JavaScript/HTML3 Web 应用程序框架

  6. Backbase - 门户软件

  7. Shiny - R 上的前端库,具有可视化、布局和控制小部件

  8. ZKOSS : Java+jQuery+Bootstrap 框架,用于构建企业 Web 和移动应用程序。

CSS 库 + 最小的小部件

这些库不实现复杂的小部件,例如带有排序/过滤、自动完成或树的表格。

  1. 引导程序

  2. Foundation for Apps - 基于 AngularJS 的响应式前端框架;更多的网格/布局/导航库

  3. UI Kit - 类似于 Bootstrap,具有更少的小部件,但带有官方的非画布。

使用 HTML Canvas 的库

使用画布元素可以完全控制 UI,并具有出色的跨浏览器兼容性,但代价是缺少原生浏览器功能,例如通过 Ctrl/Cmd+F 进行页面搜索。

  1. 斑马-演示

自 2014 年 12 月起不再开发

  1. 雅虎!用户界面 - YUI,于 2005 年推出,但不再由核心贡献者维护 - 请参阅公告,其中强调了大型 UI 小部件库被视为开发人员不想被锁定的围墙花园的原因。
  2. 回声3GitHub。支持编写不需要开发人员具备 HTML、HTTP 或 JavaScript 知识的服务器端 Java 应用程序,或基于 JavaScript 的客户端应用程序不需要服务器,但可以通过 AJAX 与服务器进行通信。最后更新:2013 年 7 月。
  3. 充足的SDK
  4. 更简单的小部件livepipe.net
  5. JxLib
  6. 里亚托
  7. 简单的 UI 套件
  8. 原型-ui

其他列表

于 2010-01-27T06:03:46.520 回答