您选择的跨浏览器JavaScript GUI

时间:2008-10-20 14:48:12

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

更新 - 可在此处找到自2015年2月更新的综合比较:

Alternatives to Ext JS


2008问题

有许多优秀且不那么优秀的Javascript GUI框架。我看过一些(只是表面上看)。而我无法想到他们中的任何一个

滚动到此问题的结尾以查看其他人的说法

  • Ext.js许多人明显的选择,因为它是最着名的框架之一 优势:外观awesome,大型社区,大量扩展程序/插件,GPL“ Disadvanatges:无法使用具有商业许可的第三方扩展程序(其中一些扩展程序具有杀手功能)

  • Backbase知之甚少。令人联想到XUL的XML和Javascript的奇怪组合。但是,它已经是跨浏览器了 优点:外观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 (问题已删除)

8 个答案:

答案 0 :(得分:41)

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

  1. 我想用一些非常“酷”的功能 pimp up my page 。转到 JavaScript库

    • 的jQuery
    • ZenoUI
    • old:Prototype,Mootools
  2. 我希望使用丰富的前端构建应用程序。我喜欢用JavaScript定义UI,我不介意使用这些库的自定义API来编写我的应用程序逻辑。转到JavaScript post-library / pre-framework

    • DHTMLX
    • 道场
    • 的Qooxdoo
    • jQuery UI
    • Bindows - 生成Windows的精确外观
    • Spry(原始,遭受严重的内存泄漏)
  3. 我希望使用丰富的前端构建应用程序。我喜欢在XML中定义UI,我想根据标准API编写应用程序逻辑,并使用其他面向开发人员的基于标准的技术。转到 JavaScript框架

  4. 有关更详细的比较,请参阅alternatives to ExtJS

答案 1 :(得分:4)

相反,我发现qooxdoo语法和代码组织非常清楚。它很像swing或gtk。我也尝试过Dojo,没有太大的成功。我对RIA的第一选择是qooxdoo。它丰富,编码人员友好,免费且记录良好。

我对任何其他(基于浏览器的)JavaScript工作的选择是jQuery。虽然其他库(原型,mochikit等)都很有用,但jQuery现在已经成功了。拥有一个活跃的(和大的)社区很重要。

答案 2 :(得分:3)

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

答案 3 :(得分:3)

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

在一个大项目中,简单易读的代码平坦且易于调整,比gee whizbang小部件更强大。我可以根据需要为自己找出糖果。调试JS非常困难,无需花费大量精巧的代码。

答案 4 :(得分:2)

我认为可以说jQuery已成为最受欢迎的javascript框架(请查看此State of jQuery '08 presentation的第4张幻灯片)。

我的公司使用mootools,我喜欢它,看起来非常类似于原型和jQuery(我还没有使用过),UI元素也非常简洁。

答案 5 :(得分:2)

Dojo职业选手以下是IMO: 1.提供简单的DOM查询功能,如jQuery,例如:

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(实验性)文件夹下“官方”版本的一部分。许多其他工具包具有相同小部件的许多变体,使得用户难以选择正确的小部件。

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

答案 6 :(得分:1)

Dojo CON,恕我直言是令人震惊的文件状态。大多数都已过时,通常会告诉您功能不起作用,这些功能已被纠正,无法提醒您功能无法正常工作。

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

答案 7 :(得分:0)

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

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