更新 - 截至 2015 年 2 月更新的全面比较可在此处找到:

Ext JS 的替代品


2008年问题:

有许多优秀和不太优秀的 Javascript GUI 框架。我看过一些(只是表面上的)。我对其中任何一个都无法下定决心

滚动到此问题的末尾,看看其他人怎么说

  • Ext.js 这是许多人的明显选择,因为它是最著名的框架之一。
    优点: 看起来 惊人的, ,大型社区,大量扩展/插件,GPL'ed
    缺点: 无法使用具有商业许可的第三方扩展(其中一些扩展具有杀手级功能)

  • 后台 相对鲜为人知。XML 和 Javascript 的奇怪组合,让人想起 XUL。不过,它已经是跨浏览器了
    优点: 看起来 好的, ,非常可扩展,允许轻松合并 一些非常漂亮的东西
    缺点: 定价昂贵且受 CPU 限制(尽管最多可以在 2 个 CPU 上免费使用),论坛响应缓慢(尽管商业支持据说很快)

  • 酷克斯杜 也很受欢迎。
    优点: 请填写
    缺点: 代码有点乱(基于传闻)

  • 尤伊 填写描述
    优点: 组织良好的代码缺点: 许多小部件仍处于测试阶段

  • 道场 填写描述
    优点: 类的增量加载
    缺点: 可能会感觉臃肿

  • jQuery用户界面
    优点: 小部件不相互依赖
    缺点: 在开发的早期阶段,小部件很少
    更广泛接受的可能趋势: jQuery 将随 ASP.NET MVC 一起提供


你说什么?你用什么以及为什么?您更愿意使用什么以及为什么?在任何类型的项目中


将根据您的输入进行更新...

看到这个 很棒的评论 来自 Sergey Ilinsky,它很好地解释了当您只想美化页面、构建具有丰富前端的应用程序时应该选择哪个框架(有多种选择,不少于)

另一个线程中的一个有趣的评论比较了 jQuery、Dojo、Prototype、Mootools、 芽核卡布奇诺 (问题已被删除).

有帮助吗?

解决方案

在考虑使用 JavaScript 库/框架时,您应该首先定义您的目标。我曾经根据用途和架构将所有 JavaScript 库/框架分为三类:

  1. 我想要 拉皮条我的页面 具有一些非常“酷”的功能。去做 JavaScript 库.

    • jQuery
    • 芝诺用户界面
    • 老的:原型,Mootools
  2. 我想要 构建一个应用程序 具有丰富的前端。我喜欢使用 JavaScript 定义 UI,并且不太介意使用这些库的自定义 API 来编码我的应用程序逻辑。使用 JavaScript 后图书馆/前框架.

    • 数字HTMLX
    • 道场
    • 尤伊
    • 酷克斯杜
    • jQuery用户界面
    • 宾多斯 - 生成与 Windows 完全相同的外观
    • Spry(原始,内存泄漏严重)
  3. 我想要 构建一个应用程序 具有丰富的前端。我喜欢在 XML 中定义 UI,并且希望根据标准 API 编写应用程序逻辑,并利用其他面向开发人员的基于标准的技术。去做 JavaScript 框架.

更详细的比较请参见 ExtJS 的替代品.

其他提示

相反我发现qooxdoo的语法和代码组织非常清晰。它很像 swing 或 gtk。我也尝试过Dojo,但没有取得多大成功。我对 RIA 的第一选择是 qooxdoo。它内容丰富、对编码人员友好、免费且文档齐全。

对于任何其他(基于浏览器的)JavaScript 工作,我的选择是 jQuery。尽管其他库(prototype、mochikit 等)都很有用,但 jQuery 现在很流行。拥有一个活跃(且大)的社区很重要。

StackOverflow 上的很多人都使用 jQuery,因此答案可能会偏向这个方向。此外,jQuery 将随 ASP.Net MVC 一起提供,使其成为使用 Microsoft 平台的开发人员的自然选择。

YUI 代码组织良好、注释完善且易于阅读。与大多数此类项目一样,人们往往会觉得从事这些项目的工程师有太多空闲时间。

在大型项目中,简单、可读、扁平且易于适应的代码比令人惊叹的小部件强大得多。我可以根据需要自己找出糖果。调试 JS 已经够困难的了,无需费力去调试大量巧妙的代码。

我认为可以肯定地说 jQuery 已成为最近最流行的 javascript 框架(查看本页的第四张幻灯片) jQuery '08 演示状态).

我公司使用 穆工具, 我喜欢它,它看起来与原型和 jQuery(我没有使用过)非常相似,UI 元素也非常整洁。

IMO 的 Dojo 专家如下:1.提供简单的 DOM 查询功能,如 jQuery,例如:

dojo.query(".disableAble").style("backgroundColor","gray");

  1. 拥有真正智能的加载器,它可以一次、增量或根据您自己的选择加载所有类。还与您选择菜单并压缩、内联等的构建系统相关。

  2. 在我看来,最重要的是; 一个完整的客户端分层小部件系统,非常容易扩展, 支持 DTL 客户端模板。迫使您模块化代码并利用 Dojo 自己的构建和加载系统来自定义小部件。

  3. 人们为 Dojo 编写的几乎所有内容都成为“官方”构建的一部分,位于 dojox(实验)文件夹下。许多其他工具包具有同一小部件​​的许多变体,这使得用户很难选择正确的一个。

干杯 聚苯乙烯 http://unclescript.blogspot.com

Dojo CON,恕我直言,文档的状态令人震惊。大多数已经过时,经常会告诉您功能不起作用,但后来已得到纠正,或者未能提醒您功能不起作用。

我必须在现实世界的项目中使用它,一边飞行一边学习,这确实是一场噩梦。

里亚托 (Rich Internet Application Toolkit) 是基于 ajax 的跨浏览器 javascript 小部件库。因为它与技术无关,所以可以封装在 JSP、JSF、.Net、Python 或 PHP 图形组件中。Rialto 的目的是让企业开发人员更轻松地进行丰富的互联网应用程序开发。理想情况下,Rialto 开发人员不需要编写或理解 DHTML、Ajax 或 DOM 代码。

Rialto 的目标是企业 Web 应用程序,而不是互联网网站。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top