你select跨浏览器的JavaScript GUI

更新 – 截至2015年2月更新的综合比较可以在这里find:

Ext JS的替代品


2008问题

那里有一些很棒的,不是很好的Javascript GUI框架。 我看了一些(只是表面上)。 我无法想出任何一个

滚动到这个问题的结尾,看看别人怎么说

  • Ext.js许多人都知道,因为它是最着名的框架之一。
    优点:看起来很棒 ,大型社区,很多扩展/插件,GPL
    Disadvanatges:无法使用具有商业许可的第三方扩展(并且其中一些扩展具有杀手function)

  • Backbase相对较less知道。 XML和Javascript的混合让人想起XUL。 但是,这已经是跨浏览器了
    优点:看起来很好 ,可扩展性强,可以方便地合并一些非常干净的东西
    缺点:价格陡峭且受CPU限制(尽pipe最多可以在2个CPU上使用),论坛响应速度缓慢(尽pipe商业支持据说速度很快)

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

  • YUI 填写说明
    优点:组织良好的代码缺点: 许多小部件仍处于testing阶段

  • Dojo 填写描述
    优点:增量加载类
    缺点:轻微感觉臃肿

  • jQuery UI
    优点:小工具不依赖于对方
    缺点:在发展的早期阶段,很less有小部件
    更广泛的接受可能的趋势: jQuery与ASP.NET MVC一起交付


什么说你? 你用什么,为什么? 你想用什么,为什么? 在任何types的项目


要更新您的input…

看到这个来自Sergey Ilinsky的优秀评论 ,它很好地解释了你应该select什么样的框架,当你想只是皮条客你的页面,build立一个丰富的前端应用程序(有几个select,不less)

在另一个线程比较有趣的评论比较jQuery的,道场,原型,Mootools, Sproutcore和卡布奇诺 (问题被删除)

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

  1. 我想用一些非常“酷”的function来攀登我的页面 。 去JavaScript库

    • jQuery的
    • ZenoUI
    • 旧:原型,Mootools
  2. 我想build立一个丰富的前端应用程序 。 我喜欢用JavaScript定义UI,我不介意使用这些库的自定义API来编写我的应用程序逻辑。 去JavaScript 后的图书馆/前框架

    • ExtJS的
    • 剑道
    • DHTMLX
    • 道场
    • YUI
    • 的Qooxdoo
    • jQuery UI
    • Bindows – 生成Windows的精确外观
    • 敏捷(生,严重的内存泄漏)
  3. 我想build立一个丰富的前端应用程序 。 我喜欢在XML中定义UI,我想用标准API来编写我的应用程序逻辑,并使用其他面向开发人员的标准技术。 去JavaScript框架

    • SproutCore的
    • Backbase公司
    • 充足的SDK

有关更详细的比较,请参阅ExtJS的替代方法 。

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

我select任何其他(基于浏览器的)JavaScript工作是jQuery。 虽然其他库(原型,mochikit等)都是有用的,jQuery现在是炒作。 拥有一个活跃(和大)的社区。

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

YUI代码组织良好,评论很好,易于阅读。 与大多数这样的项目一样,人们往往觉得在他们身上工作的工程师手上有太多的时间。

在一个大项目中,简单易读的代码平坦易用,比gee whizbang小部件强大得多。 我可以根据需要弄清楚自己的糖果。 debuggingJS非常困难,而不必通过聪明的代码大量的wade。

我认为可以肯定的说,jQuery已经成为最近最stream行的javascript框架(查看jQuery '08演示文稿的这个状态的第四张幻灯片)。

我的公司使用的mootools ,我喜欢,似乎非常类似于原型和jQuery(我没有使用),UI元素也相当整齐。

Dojo的专业人员是国际海事组织以下几点:1.提供一个简单的DOM查询function,如jQuery,例如:

dojo.query( “禁用的。 ”)样式(“的backgroundColor”, “灰色”)。

  1. 有一个非常聪明的装载机,可以一次拉入所有的class级,递增或自行select。 还与您select菜单和压缩的构build系统相关,inline等。

  2. 我认为最重要的是 完整的客户端分层小部件系统,非常容易扩展,支持DTL客户端模板。 强制您将代码模块化,并利用Dojo自己的构build和加载系统来定制小部件。

  3. 人们为Dojo写的几乎所有东西都成为dojox(实验)文件夹下的“官方”版本的一部分。 许多其他工具包有很多相同的小部件的变种,使用户很难select正确的。

干杯,PS http://unclescript.blogspot.com

Dojo CON,恕我直言,是文档的令人震惊的状态。 大多数是过时的,经常会告诉你function不起作用,而这些function现在已经得到纠正,未能提醒你function不起作用。

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

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

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