我想知道你们对这两个框架的看法:
我已经知道并使用jQuery,最近发现它缺少大型Web应用程序的“企业就绪”组件。
现在,我不想就jquery展开辩论,或者为什么不存在mootools,我想知道你们对这两个框架的具体看法。
谢谢!
最佳答案
免责声明:我是Dojo提交者。
不知何故,在此比较中没有人提出Dojo方面-这不是没有一个的比较,是吗?让我来谈谈你的观点。
健壮性
大型国际公司在许多IT项目中使用了Dojo。我亲自参加了VMware,IBM,Cisco,Reuters Thomson的项目。除了向您介绍“营销文献”之外,我还可以向您显示实际的参与者列表:http://docs.dojocampus.org/developer/contributors-向下滚动以查看贡献(和使用)Dojo的公司。
我们会保留个人和公司贡献者的列表,以便我们的用户可以确保Dojo代码的IP沿袭是干净的-每个贡献者都签名CLA,表明他/她/它编写了贡献的代码和/或有权贡献它在AFL / BSD双重许可下。到目前为止,我们对此没有任何问题。
据我所知,YUI主要是由一家公司开发的:Yahoo! YUI started to accept external contributions only two years ago自2005年开始开发,现在也需要CLA。
我不是股市专家,但Yahoo!总是有问题:有一天,它试图与Google建立联盟,第二天,它终止了其搜索业务,并与微软,甚至是selling the whole company to Microsoft was discussed back in 2008一起使用,后者可以预测明天的发展。现在是2010年,the share price went down since 2008-它会再次发售吗? OTOH有人说,如果微软决定保留它,它将成为YUI的更好母亲。再一次,微软拥有自己的软件属性,而并非完全是开源JavaScript项目的支持者。
与YUI不同,Dojo是由几家公司支持的,而IBM是最具影响力的公司-该公司雇用了几位杰出的提交者。尽管Dojo拥有强大的公司支持,但它仍然是由社区,个人 push 的项目。如果有任何一家公司,甚至几家公司遇到市场问题,我们仍将继续前进。
Dojo是在AFL / BSD双重许可下发行的,并且可以免费使用。所有正式发行的Dojo版本均由AOL和Google CDN提供。
代码质量
我有偏见:-),我认为代码的质量很好。由于Dojo是一个开源项目,因此您可以随时自行评估它,并在需要时加以改进。
源代码保存在Subversion中,官方镜像保留在Github (git)和Bitbucket (hg)上。为了方便起见,在Launchpad (bzr)上有一个镜像。
核心开发人员不断开发新功能
Dojo拥有一个活跃的充满活力的社区,可以说让车轮保持转动。作为核心开发人员之一,我个人向您保证,我们将继续前进,进一步 push 这一广为人知的 Realm 。
Dojo在创新方面拥有可靠的往绩记录,我们不会停止。
跨浏览器问题
当前Dojo 1.4 supports following browsers:
即将发布的Dojo 1.5(将在几天后发布)已通过以下浏览器进行了广泛的测试:
要强调与YUI A级浏览器的区别:
我个人可以补充一点,就是我仍在Firefox 2上测试dojox.gfx(跨平台图形包),它涉及Dojo Core,并且按预期运行。我在Midori等几种奇特的浏览器上测试了Dojo Core。
另一个区别是Dojo可以在台式机和服务器环境中使用(并且使用)。显然,这些环境未使用特定于浏览器的组件。
模块组件
从第一天开始,Dojo就提供了类,模块和包(模块的集合)。 Dijit提供了小部件:具有统一界面的打包HTML + JavaScript。
所有构建基块都向用户公开,因此他们可以创建自己的组件,成为一等公民:它们可以像任何其他模块一样加载,由构建器进行处理(跟踪,缩小,对CSS进行预处理等等),用户甚至可以完成CDN的构建。您可以使用现有的Dojo组件进行任何处理。
Dojo本身分为3个子项目,可以单独使用:
最容易学习和集成
Dojo只是JavaScript和常规HTML / DOM(用于小部件)。它不会假装是别的东西,它不是掌 Helm 者的邪教,也不是“框架”,它控制了您的应用程序并迫使您做一些奇怪的事情,Dojo不想“改善”“不完美”的JavaScript,Dojo不想假装浏览器成为其他产品。相反,Dojo提供了实用的工具来提高程序员的工作效率,促进RAD的工作,解决常见问题以及支持有用的技术和方法。
每个经验丰富的程序员通常都会拥有一个小型的库,这些库对于他/她在以前的项目中很有效。他或她知道要避免什么和使用什么。当我意识到Dojo是类固醇的图书馆时,它在我的脑海中“点击”,就像几位专家聚集在一起并仔细组合了他们的个人图书馆一样。当然,它有很多不同的模块,但是我只能将自己想要的东西用于我的特定项目—我没有被迫使用所有东西,而且我不为不使用的东西付费。甚至没有抽象惩罚。
如果您了解JavaScript并熟悉HTML,CSS和DOM,那么您就可以在家了。