更新 - 可在此处找到自2015年2月更新的综合比较:
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,Sproutcore和Cappuccino (问题已删除)。
答案 0 :(得分:41)
在考虑使用JavaScript库/框架时,您应首先定义目标。我曾经根据其目的和架构将所有JavaScript库/框架分为三类:
我想用一些非常“酷”的功能 pimp up my page 。转到 JavaScript库。
我希望使用丰富的前端构建应用程序。我喜欢用JavaScript定义UI,我不介意使用这些库的自定义API来编写我的应用程序逻辑。转到JavaScript post-library / pre-framework 。
我希望使用丰富的前端构建应用程序。我喜欢在XML中定义UI,我想根据标准API编写应用程序逻辑,并使用其他面向开发人员的基于标准的技术。转到 JavaScript框架。
答案 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");
在我看来最重要的事情; A full client-side hierarchical widget system that is super-easy to extend,支持DTL客户端模板。强制您模块化您的代码,并利用Dojo自己的构建和加载系统来实现自定义小部件。
人们为Dojo编写的几乎所有内容都成为dojox(实验性)文件夹下“官方”版本的一部分。许多其他工具包具有相同小部件的许多变体,使得用户难以选择正确的小部件。
答案 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的目标是企业网络应用程序,而不是互联网网站。