Dojo vs YUI javascript框架

Ced*_*gas 13 javascript dojo yui javascript-framework

我想知道你们对这两个框架的看法,包括:

  • 鲁棒性,
  • 代码质量,
  • 核心开发人员继续推进新功能,
  • 跨浏览器问题,
  • 模块组件,
  • 最容易学习和整合

我已经知道并使用jQuery,我最近发现它缺乏用于大型Web应用程序的"企业就绪"组件.

现在我不想开始讨论jquery,或者为什么mootools不在那里,我想知道你们对这两个框架的具体看法.

谢谢!

Eug*_*kin 24

免责声明:我是Dojo的提交者.

不知怎的,在这个比较中没有人提出Dojo方面 - 它不是没有一个的比较,是吗?让我回顾一下你的观点.

稳健性

Dojo被大型跨国公司用于许多IT项目.我个人参与了VMware,IBM,思科,路透社汤姆森的项目,仅举几例.我可以向您展示实际的贡献者列表,而不是转发给您的"营销文献":http://docs.dojocampus.org/developer/contributors - 向下滚动以查看贡献(和使用)Dojo的公司.

我们保留个人和公司贡献者的列表,以便我们的用户可以确保Dojo代码的IP谱系是干净的 - 每个贡献者签署一份CLA,声明他/她/它编写了贡献代码和/或有权提供它在双AFL/BSD许可下.到目前为止,我们没有遇到任何问题.

据我所知,YUI主要由一家公司开发:Yahoo!两年前,YUI开始接受外部贡献,自2005 年以来一直在开发中,现在也需要CLA.

我不是股票市场专家,但总有一些事情与雅虎有关!有一天它试图与谷歌结盟,第二天它杀死了它的搜索业务并与微软合作,甚至将整个公司出售给微软也讨论了2008年 - 谁能预测明天会做些什么.现在在2010年,股价自2008以来一直在下跌 - 是否会再次出售?OTOH有人说如果微软决定保留它,那么微软会成为YUI的更好母亲.然后,微软拥有自己的软件属性,而不是开源JavaScript项目的支持者.

与YUI不同,Dojo由几家公司支持,其中IBM是最具影响力的公司 - 该公司聘请了几位着名的提交者.虽然Dojo拥有强大的企业支持,但它仍然是由其社区和个人推动的项目.如果任何公司甚至几家公司都会遇到市场打嗝,我们仍会继续前进.

Dojo以双AFL/BSD许可证分发,可免费用于所有用途.所有正式发布的Dojo版本均由AOL和Google CDN提供.

代码质量

我有偏见:-)我认为代码质量非常好.由于Dojo是一个开源项目,你可以随时自己判断,如果你愿意的话,可以改进它.

源代码保存在Subversion中,并在Github(git)Bitbucket(hg)上维护官方镜像.为方便起见,Launchpad(bzr)上有一面镜子.

核心开发人员继续推进新功能

Dojo拥有一个活跃的充满活力的社区,可以让车轮保持运动.作为核心开发者之一,我个人向您保证,我们将继续向前发展,进一步推动众所周知的信封.

Dojo拥有成熟的创新记录,我们不会停下来.

跨浏览器问题

目前Dojo 1.4支持以下浏览器:

  • Firefox 2支持下降.支持Firefox V3和V3.5.
  • 支持最新的Safari(Safari v4)和最新的Chrome(Chrome v3),但不支持以前的版本.
  • IE6,IE7,IE8全部支持.
  • 最新Opera(Opera v10)(仅限Dojo核心).

即将推出的Dojo 1.5(将在几天内发布)已通过以下浏览器进行了广泛测试:

  • Firefox 3.5/3.6
  • Safari 4/Safari 5和Chrome 5
  • IE6,IE7,IE8
  • Opera 10.53及更高版本(仅限Dojo核心)

要突出与YUI的A级浏览器的差异:

  • 除了Windows和Mac之外,Dojo还支持Linux.
  • Dojo支持所有支持的操作系统上的谷歌浏览器.
  • Dojo支持所有支持的操作系统上的Firefox.
  • Dojo Core在所有支持的操作系统上支持Opera.

我个人可以补充一点,我仍然在Firefox 2上测试dojox.gfx(跨平台图形软件包) - 它涉及Dojo Core,它按预期工作.我在几个异国情调的浏览器上测试Dojo Core,比如Midori.

另一个区别是Dojo可以在桌面和服务器环境中使用(并且可以使用).显然,这些环境不使用特定于浏览器的组件.

模块组件

从第一天开始,Dojo提供了类,模块和包(模块集合).Dijit提供小部件:带有统一界面的打包HTML + JavaScript.

所有的积木都暴露给用户,这样他们就可以创建自己的组件,这将是1个ST类公民:他们可以加载像任何其他模块,由制造商(依赖追踪,精缩,CSS预处理,等等)处理即使是异国情调的CDN构建也可以由用户完成.您可以使用库存Dojo组件做任何事情,您可以使用自己的组件.

Dojo本身分为3个子项目,可以单独使用:

  • Dojo(包括Dojo Base作为单个文件)
  • Dijit:一组小部件
  • DojoX:更多的小部件,以及涵盖从跨平台图表到加密的所有内容的约50个软件包.

最容易学习和集成

Dojo只是JavaScript和常规HTML/DOM(用于小部件).它并不是假装别的东西,它不是一个掌舵的邪教,它不是一个"框架",它控制你的应用程序并强迫你做一些奇怪的事情,Dojo不想"改进""不完美"JavaScript,Dojo不想伪装浏览器成为别的东西.相反,Dojo提供了实用工具,可以提高程序员的工作效率,促进RAD,解决常见问题,并支持有用的技术和方法.

每个经验丰富的程序员通常都有一个迷你库,可以在以前的项目中为他/她做好准备.他或她知道应该避免什么以及使用什么.当我意识到Dojo是类固醇的这个库时,它"点击"了我的脑袋 - 就像几位专家聚在一起并仔细地结合他们的个人库一样.当然,它有很多不同的模块,但我只能使用我想要的特定项目 - 我不是被迫使用所有东西,而且我不支付我不使用的东西.甚至不是抽象惩罚.

如果你了解JavaScript并熟悉HTML,CSS和DOM - 那么你就会在家里.


Gab*_*art 9

我认为你拒绝jquery的原因听起来很可疑,并且建议将框架称为"企业就绪",这在我的书中是一种讽刺的赞美.

但是,我对YUI(2和3)有很多经验,我认为它可能适合你的用例.

  • 强大 - YUI在雅虎内部使用,因此应该提供一些关于其稳健性的线索.
  • 代码质量 - 我是项目的贡献者,代码质量非常好.因为它是开源的,你可以自己看看.
  • 前进 - 它由雅虎支持(但也包含社区贡献),所以向前推进它是非常安全的.同样,您可以自己跟踪开发和社区参与情况.
  • 跨浏览器 - 它支持所有雅虎A级浏览器
  • 模块 - 有一吨,(特别是在YUI 3中)很容易合并你需要的部件.如果你想要大多数GUI模块,你仍然需要混合一些YUI 2(这很容易).不过,YUI3中的小部件即将推出.
  • 易于学习和集成 - YUI可能是我见过的任何JS库的最佳文档.但是,YUI 3非常注重你如何编写你的javascript.它以一种很好的方式表达自己的观点,并为您提供了很多帮助,但只是"插入"现有项目YUI 2可能更容易.

  • 好吧,我并不是拒绝它,我只是发现jQuery UI缺少我需要的一些功能,而其他插件与jQuery核心的质量不同. (2认同)