ExtJS 的替代品是啥?
Posted
技术标签:
【中文标题】ExtJS 的替代品是啥?【英文标题】:What are alternatives to ExtJS?ExtJS 的替代品是什么? 【发布时间】:2010-09-17 01:10:56 【问题描述】:所以我正在寻找的是一个我可以使用的具有多个 UI 控件的 javascript 框架。我查看了jQuery,但与 ExtJS 相比,这些控件非常基本。还有其他有竞争力的选择吗?
这个问题的存在是因为它具有历史意义,但它不被认为是本网站的一个很好的主题问题,因此请不要将其用作您可以在此处提出类似问题的证据.更多信息:help center。
【问题讨论】:
jQuery UI。 YUI、dojo 工具包、GWT 等 为什么不用 ExtJS4,因为如果你切换到另一个框架,变化会更大 firebrickjs.com 是一个基于引导的组件库和 MVC/MVVM 框架 【参考方案1】:就社区规模和在 *** 上的存在而言,没有什么能比得上 extjs。尽管之前存在争议,Ext JS 现在有一个GPLv3 open source license。它的学习曲线很长,但它可以是quite rewarding once learned。分机JSlacks a Material Design theme,团队多次refused to release the source code on GitHub。对于移动设备,必须使用单独的 Sencha Touch 库。
请记住,
大型 JavaScript 库,例如 YUI,受到社区的关注较少。如今,许多开发人员将大型 JavaScript 库视为他们不想被锁定的围墙花园。
-- Announcement of YUI development being ceased
也就是说,下面是一些当前可用的 Ext JS 替代方案。
领先的客户端小部件库
Blueprint 是一个基于 React 的 UI 工具包,由大数据分析公司 Palantir 在 TypeScript 中开发,并且“针对为桌面应用程序构建复杂的数据密集型界面进行了优化”。 Actively developed on GitHub 截至 2019 年 5 月,提供全面的文档。组件范围从简单(chips、toast、icons)到复杂(tree、数据表、tag input with autocomplete、date range picker。没有accordion 或resizer。
Blueprint 面向现代浏览器(Chrome、Firefox、Safari、IE 11 和 Microsoft Edge),并在 modified Apache license 下获得许可。
Sandbox / demo • GitHub • Docs
Webix - 一个先进的、easy to learn、移动友好、响应迅速且丰富的免费和开源 JavaScript UI 组件库。 Webix spun off 来自 DhtmlX Touch(一个经过 8 年开发的项目 - 见下文),并继续成为独立的 UI 组件框架。 GPL3 edition allows commercial use 并允许使用 Webix 的非 GPL 应用程序保留其许可证,例如麻省理工学院,通过license exemption for FLOSS。 Webix 有 55 个 UI 小部件,包括树、网格、treegrids 和图表。资金来自带有一些高级小部件(Pivot、Scheduler、Kanban、org chart 等)的商业版。 Webix 拥有广泛的免费和商业小部件列表,并与最流行的frameworks(React、Vue、Meteor 等)和UI components 集成。
Skins 看起来很现代,并包含一个Material Design 主题。 Touch theme 看起来也很像 Material Design。另请参阅Skin Builder。
Minimal GitHub presence,但包括库代码和the documentation(仍需要重大改进)。 Webix 有一个小团队和一个lack of marketing。但是,他们一直在响应用户反馈,on GitHub 和 on their forum。
库很精简(截至 2015 年,所有 55 个小部件都为 128Kb gzip+minified),faster than ExtJS, dojo and others,而且设计看起来很漂亮。当前版本的 Webix(v6,截至 2018 年 11 月)变得更重(400 - 676kB minified 但未压缩)。
Webix.com 上的演示外观和功能很棒。开发人员 XB Software 在他们为付费客户构建的解决方案中使用了 Webix,因此很可能会有一个良好的、有资金支持的未来。
Webix 旨在向后兼容 IE8,因此带有some 技术debt。
Wikipedia • GitHub • Playground/sandbox • Admin dashboard demo • Demos • Widget samples
react-md - MIT 许可的 React Material Design UI 组件库。响应迅速,可访问。实现从简单(按钮、卡片)到复杂(可排序表、自动完成、标签输入、日历)的组件。 One lead author,~1900 GitHub 星。
kendo - 基于 jQuery 的 UI 工具包,包含 40 多个基本的开源小部件,以及商业专业小部件(网格、树、图表等)。响应式和移动支持。适用于 Bootstrap 和 AngularJS。现代,Material Design themes。 documentation is available on GitHub,它促成了用户的大量贡献(截至 2015 年 1 月,4500 多次提交,500 多次 PR)。
在商业上得到了很好的支持,声称拥有数百万开发人员,并且是一个庞大的开发人员工具系列的一部分。 Telerik has received many accolades,是一家跨国公司(保加利亚,美国),被Progress Software收购,是thoughtleader。
Kendo UI Professional developer license costs $700 和 posting access to most forums 的条件是拥有许可证或处于试用期。
[***] • GitHub/Telerik • Demos • Playground • Tools
OpenUI5 - jQuery-based 具有 180 个小部件的 UI 框架,Apache 2.0 许可和完全开源,由德国软件巨头 SAP SE 资助和资助。
社区是much larger而不是Webix,SAP is hiring developers to grow OpenUI5,他们是presented OpenUI5 at OSCON 2014。
桌面主题相当乏味,但Fiori design for web and mobile 看起来干净整洁。
Wikipedia • GitHub • Mobile-first controls demos • Desktop controls demos • SO
DHTMLX - 用于构建丰富的 Web 和移动应用程序的 JavaScript 库。看起来最像 ExtJS - 检查demos。已开发since 2005,但看起来仍然很现代。所有组件except TreeGrid 都在 GPLv2 下可用,但许多组件的高级功能仅在商业 PRO 版本中可用 - 例如参见 tree。声称被许多财富 500 强公司使用。
Minimal presence on GitHub(缺少main library code)和*** 但active forum。 documentation is not available on GitHub,这让社区很难改进。
Polymer,一个 Web Components polyfill,加上Polymer Paper,Google 的 Material 设计实现。针对网络和移动应用程序。没有树甚至网格之类的高级小部件,但它提供的控件是移动优先且响应迅速的。被许多大玩家使用,例如IBM 或 USA Today。
Ant Design 声称它是“一种用于后台应用程序的设计语言”,受“自然”影响并帮助设计师"create low-entropy atmosphere for developer team"。这可能是“企业 Web 应用程序的 UI 组件”的中文翻译很差。这是一个用 TypeScript 编写的 React UI 库,包含许多组件,从简单(按钮、卡片)到高级(autocomplete、calendar、tag input、table)。
项目是born in China,是popular with Chinese companies,部分文档仅提供in Chinese。很受欢迎的on GitHub,却把mistake of splitting the community变成了中英文聊天室。设计看起来像 Material-ish,但字体很小,而且信息看起来会在空白处丢失。
PrimeUI - 基于 jQuery UI 的 45 多个丰富小部件的集合。阿帕奇 2.0 许可证。小GitHub community。提供 35 个高级主题。
qooxdoo - "一个通用的 JavaScript 框架 具有一组连贯的单独组件”,由德国托管服务提供商 1&1 开发和资助(参见contributors,世界上最大的托管公司之一。GPL/EPL(商业友好许可证)。
移动主题看起来很现代,但桌面主题看起来很旧(渐变)。
Wikipedia • GitHub • Web/Mobile/Desktop demos • Widgets Demo browser • Widget browser • SO • Playground • Community
jQuery UI - 容易上手;看起来有点过时;缺少高级小部件。当然,您可以将其与独立的小部件组合以满足特定需求,例如trees 或 other UI components,但对于任何其他框架都可以这样说。
angular + Angular UI。虽然 Angular 得到了 Google 的支持,但它在即将到来的 2.0 版本中进行了彻底的改进,并且“用户将需要掌握一种新的架构。还确认会有no migration path from Angular 1.X to 2.0”。此外,共识似乎是Angular 2 won't really be ready for use until a year or two from now。 Angular UI 的小部件相对较少(例如,没有树)。
DojoToolkit 和他们强大的 Dijit 集 widgets。完全是open-sourced and actively developed on GitHub,但现在(2018 年 11 月)的开发重点是新的 dojo.io 框架,它的基本小部件很少。 BSD/AFL 许可证。开发始于 2004 年,Dojo 基金会由 IBM、Google 和其他公司赞助 - 请参阅 Wikipedia。 7500 questions here on SO.
主题看起来面向桌面且过时 - 请参阅 theme tester in dijit。 official theme previewer 已损坏,仅显示“Claro”。 Bootstrap theme exists,看起来很像 Bootstrap,但不使用 Bootstrap 类。 2015 年 1 月,我在 building a Material Design theme for Dojo 上创建了一个帖子,在最初的几个小时内就很受欢迎。但是,对于为当前的 Dojo 1.10 与 the next Dojo 2.0 构建该主题存在一些问题。对该主题的回复显示了一个活跃而广泛的社区,涵盖了许多时区。
不幸的是,Dojo has fallen out of popularity 和 fewer companies appear to use it,尽管有 having (had?) a strong foothold in the enterprise world。在 2009-2012 年,其learning curve was steep 和文档需要改进;而documentation has substantially improved,目前还不清楚现在拿起 Dojo 有多么容易。
使用Material Design theme,Dojo(2.0?)可能是杀手级 UI 组件框架。
Wikipedia • GitHub • Themes • Demos • Desktop widgets • SO
Enyo - 针对移动和电视应用程序的前端库(例如大型触摸友好控件)。由 LG Electronix 和Apache-licensed on GitHub 开发。
激进的Cappuccino - Objective-J(JavaScript 的超集)而不是 HTML+CSS+DOM
Mochaui,MooTools UI 库用户界面库。
CrossUI - 跨浏览器 JS 框架,用于开发和打包完全相同的代码和 UI 到 Web 应用程序、本机桌面应用程序(Windows、OS X、Linux)和移动应用程序(ios、android、Windows Phone) ,黑莓)。开源 LGPL3。特色 RAD 工具(表单生成器等)。 UI 看起来是面向桌面的,而不是面向 Web 的。 Actively developed, small community。 No presence on GitHub.
ZinoUI - 简单的小部件。例如,DataTable 甚至不支持排序。
Wijmo - 漂亮的商业小部件,带有开源的旧 (jQuery UI) 小部件 on GitHub(它们的开发于 2013 年停止)。由 GrapeCity 的一个部门ComponentOne 开发。见Wijmo Complete vs. Open。
CxJS - 基于 React、Babel 和 webpack 的商业 JS 框架,提供表单元素、表单验证、高级网格控制、导航元素、工具提示、覆盖、图表、路由、布局支持、主题、文化相关格式等等。
Widgets - Demo Apps - Examples - GitHub
全栈框架
SproutCore - 由 Apple 为具有本机性能的 Web 应用程序开发,可在客户端处理大型数据集。为 iCloud.com 提供支持。不适用于小部件。
Wakanda:针对商业/企业网络应用程序 - 请参阅What is Wakanda?。架构:
Wakanda 服务器(服务器端 JavaScript (custom engine) + 开源 NoSQL database) 用于表格、表单、报告的桌面 IDE 和所见即所得编辑器Wakanda 应用程序框架(数据源层 + 基于浏览器的界面小部件)有助于在桌面和移动设备之间实现浏览器和设备的兼容性
Wakanda 高度集成,includes a ton of features out of the box,但有一个 very small GitHub community 和 SO presence。
Servoy - “SQL 数据库的跨平台前端开发和部署环境”。拥有“完整的 WYSIWIG(所见即所得)HTML5 UI 设计器,内置数据绑定到后端服务”,响应式设计,支持 HTML6 Web 组件、Websockets 和移动平台。 Written in Java 并使用 various JavaBeans 生成 JavaScript 代码。
SmartClient/SmartGWT - 与 Java 服务器相结合的移动和跨浏览器 HTML5 UI 组件。旨在构建功能强大的商业应用程序 - 请参阅 demos。
Vaadin - 全栈 Java/GWT + JavaScript/HTML3 网络应用框架
Backbase - 门户软件
Shiny - R 上的前端库,带有可视化、布局和控制小部件
ZKOSS:用于构建企业 Web 和移动应用程序的 Java+jQuery+Bootstrap 框架。
CSS 库 + 小部件
这些库不实现复杂的小部件,例如带有排序/过滤功能的表格、自动完成功能或树。
Bootstrap
Foundation for Apps - 基于 AngularJS 的响应式前端框架;更多 grid/layout/navigation library
UI Kit - 与 Bootstrap 类似,小部件更少,但带有官方非画布。
使用 HTML Canvas 的库
使用画布元素可以完全控制 UI,并具有出色的跨浏览器兼容性,但来自 cost of missing native browser functionality,例如通过 Ctrl/Cmd+F 进行页面搜索。
-
Zebra - demos
自 2014 年 12 月起不再开发
-
Yahoo! User Interface - YUI,于 2005 年推出,但不再由核心贡献者维护 - 请参阅 announcement,它强调了大型 UI 小部件库被视为开发人员不想被锁定的围墙花园的原因。
echo3,GitHub。支持编写不需要开发人员具备 HTML、HTTP 或 JavaScript 知识的服务器端 Java 应用程序,或基于 JavaScript 的客户端应用程序不需要服务器,但可以通过 AJAX 与服务器进行通信。最后更新:2013 年 7 月。
ampleSDK
更简单的小部件livepipe.net
JxLib
rialto
简单的 UI 工具包
Prototype-ui
其他列表
Best of JS - component toolkits ***的Comparison of JavaScript frameworks ***的GUI-related JavaScript libraries列表 jqueryuiwidgets.com - 详细的 jQuery 小部件功能比较【讨论】:
仅仅几个月的时间,它已经读起来像科恩兄弟的电影热门名单。 JS 库必须是现存最短暂的实体。 这个答案虽然完整,但很碍眼......也许删除图像会有所帮助? @jm666:Webix + Meteor,如果对您的应用有意义的话,毫无保留。另外,感谢您的美言,请在this Meta discussion 上留言删除此问题。 加 1,所以你的作品永远不会被删除。我只是从头到尾读了一遍(带有令人愉快的图片),我拓宽了很多知识。我正处于可能发生项目的开始,女巫必须使用复杂的数据表,这篇文章教会了我有关 Dojo、Openui5、Webix、Kendo-ui 和更多库的知识。在此之前我只新的 DHTMLX(太贵了)、extJS(太贵了)和 jQuery DataTables。非常感谢丹! 我不知道这些框架,尤其是 Webix,这似乎是我在审查后可能会使用的东西。感谢您的详细解释,图片很有帮助。以上是关于ExtJS 的替代品是啥?的主要内容,如果未能解决你的问题,请参考以下文章
在不使用 Ajax 请求的情况下使用 ExtJS 4.1 将文件下载为 CSV 的替代方法?