【问题标题】:Your choice of cross-browser javascript GUI [closed]您选择的跨浏览器 javascript GUI [关闭]
【发布时间】:2010-09-18 03:16:13
【问题描述】:

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

Alternatives to Ext JS


2008 年问题

那里有许多很棒的和不那么出色的 Javascript GUI 框架。我看过一些(只是表面上)。而且我无法对其中任何一个做出决定

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

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

  • Backbase 相对鲜为人知。 XML 和 Javascript 的奇妙组合,让人联想到 XUL。但是,它已经是跨浏览器
    优点:看起来 good,非常可扩展,可以轻松合并 some really neat stuff
    缺点: CPU 密集型(尽管最多可在 2 个 CPU 上免费使用),论坛响应缓慢(尽管商业支持据说很快)

  • qooxdoo 也很受欢迎。
    优点: 请填写
    缺点:代码有点乱(传闻)

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

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

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


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


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

请参阅来自 Sergey Ilinsky 的 excellent comment,它很好地解释了当您只想修改页面、构建具有丰富前端的应用程序时应该选择哪个框架(有多种选择,不少于)

另一个帖子中的一个有趣评论比较了 jQuery、Dojo、Prototype、Mootools、SproutcoreCappuccino(问题已删除)

【问题讨论】:

  • 请注意,我认为这个问题以前被问过,但我现在找不到链接,我将向其他用户推荐我们保持此版本打开,因为它更清晰问题的介绍。
  • 另外,对于 OP:这应该是一个社区 wiki 问题。
  • FWIW,我想指出我对 ExtJS 的体验一直是消极的。文档有太多的漏洞,当你做的事情与示例不太接近时,会令人沮丧。当您使用另一个 JS 库(遗留代码)时,它也不能很好地发挥作用。
  • 问题是关于 Ext.js 的替代方案,[1][1] [1]:stackoverflow.com/questions/200284/…
  • 这个问题已经被问过很多次了。我同意它的呈现方式很好,但是为了爱狗,我们不能把这些信息放在一个地方吗???

标签: javascript user-interface frameworks cross-browser widget


【解决方案1】:

StackOverflow 上的很多人都使用 jQuery,所以答案可能会偏向那个方向。此外,jQuery 将附带 ASP.Net MVC,使其成为使用 Microsoft 平台的开发人员的自然选择。

【讨论】:

  • SO 上很多人使用 jQuery 的原因是……很多人使用 jQuery!
  • 没错。这被称为“开发者牵引力”,这很重要。它说明该产品是否会在长期内继续获得支持,以及您是否能够通过 Google 或 StackOverflow 等地方为该产品找到帮助。
【解决方案2】:

我认为可以肯定地说 jQuery 已成为最近最流行的 javascript 框架(查看State of jQuery '08 presentation 的第 4 张幻灯片)。

我公司用的是mootools,我很喜欢,看起来很像prototype和jQuery(我没用过),UI元素也很整洁。

【讨论】:

  • 当您开始将“类似于 X”列为商品的特征时,也许是时候开始仔细研究“X”了。
  • 同意!但我不是选择使用它的人,它已经到位:)
【解决方案3】:

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

  1. 我想用一些非常“酷”的功能修饰我的页面。去 JavaScript 库

    • jQuery
    • ZenoUI
    • 旧:原型,Mootools
  2. 我想构建一个具有丰富前端的应用程序。我喜欢用 JavaScript 定义 UI,我不太介意使用这些库的自定义 API 来编写我的应用程序逻辑。选择 JavaScript 后库/前框架

    • DHTMLX
    • 道场
    • 小唯
    • Qooxdoo
    • jQuery 用户界面
    • Bindows - 生成与 Windows 完全相同的外观
    • Spry(原始,内存泄漏严重)
  3. 我想构建一个具有丰富前端的应用程序。我喜欢在 XML 中定义 UI,我想针对标准 API 编写我的应用程序逻辑,并利用其他面向开发人员的基于标准的技术。选择 JavaScript 框架

如需更详细的比较,请参阅alternatives to ExtJS

【讨论】:

  • 我是一个非常纯粹的人,所以如果这个高层次的分裂没有反映你的愿景,请不要感到被冒犯。
  • 好点!我主要使用 MooTools(并且非常喜欢它)并认为它属于第二类。现在我更有可能去看看其他人,可能是 JQuery,它最近一直在聚光灯下..
  • 太好了,我会在问题中添加指向您评论的链接!
【解决方案4】:

YUI 代码组织良好,注释清晰,易于阅读。与大多数这些项目一样,人们往往会觉得从事这些项目的工程师手头有太多时间。

在大型项目中,简单、易读、扁平且易于适应的代码比 gee whizbang 小部件强大得多。我可以根据需要为自己找出糖果。调试 JS 已经够难了,无需费力地编写大量聪明的代码。

【讨论】:

  • 我同意,建议您查看 BBC Glow。其他图书馆称赞花里胡哨。 Glow annoncement 是关于跨浏览器支持的。他们写了一个明确的目标声明,还有一个浏览器的支持表:bbc.co.uk/guidelines/futuremedia/technical/…
【解决方案5】:

Dojo 专业人士是 IMO 的以下人员: 1.提供简单的DOM查询功能,如jQuery,ex:

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

  1. Have really smart loader, which can pull in all classes at once, incrementally or at your own choosing. Also correlates with the build system where you pick your menu and compress, inline, et.c.

  2. 在我看来最重要的是; A full client-side hierarchical widget system that is super-easy to extend, 支持 DTL 客户端模板。强制您将代码模块化,并利用 Dojo 自己的构建和加载系统来自定义小部件。

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

干杯, 附言 http://unclescript.blogspot.com

【讨论】:

    【解决方案6】:

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

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

    【讨论】:

      【解决方案7】:

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

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

      【讨论】:

      • Rialto 开发于 2012 年停止。
      【解决方案8】:

      Dojo CON,恕我直言,文档的状态令人震惊。大多数已过时,通常会告诉您已更正的功能无法使用,或者无法提醒您功能无法使用。

      我不得不在实际项目中使用它,一边飞行一边学习,这真是一场噩梦。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-28
        • 1970-01-01
        • 2010-09-11
        • 1970-01-01
        • 2011-05-22
        • 2015-04-09
        • 1970-01-01
        相关资源
        最近更新 更多