javascript - Dojo 与 YUI javascript 框架

标签 javascript dojo yui javascript-framework

我想知道你们对这两个框架的看法,就以下方面而言:

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

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

    现在我不想就 jquery 展开辩论,或者为什么没有 mootools,我想知道你们对这两个框架的具体看法。

    谢谢!

    最佳答案

    免责声明:我是一名 Dojo 提交者。

    不知何故,没有人在这个比较中展示道场的一面——这不是一个没有的比较,是吗?让我来谈谈你的观点。

    稳健性

    Dojo 被大型国际公司用于许多 IT 项目。我个人参与了 VMware、IBM、Cisco、Reuters Thomson 等的项目。我可以向您展示贡献者的实际列表,而不是将您转发到“营销文献”:http://docs.dojocampus.org/developer/contributors — 向下滚动以查看贡献(和使用)Dojo 的公司。

    我们保留个人和企业贡献者的列表,以便我们的用户可以确保 Dojo 代码的 IP 沿袭是干净的——每个贡献者都签署了 CLA声明他/她/它编写了贡献的代码和/或有权在双重 AFL/BSD 许可下贡献它。到目前为止,我们没有遇到任何问题。

    据我所知,YUI 主要由一家公司开发:雅虎! YUI started to accept external contributions only two years ago自 2005 年以来一直在开发中,现在也需要 CLA。

    我不是股票市场专家,但雅虎总是有一些事情!:有一天它试图与谷歌结盟,第二天它杀死了它的搜索业务并与微软合作,甚至 selling the whole company to Microsoft was discussed back in 2008 ——谁能预测它明天会做什么。现在在2010年,the share price went down since 2008 ——它会再次发售吗? OTOH 有人说,如果微软决定保留 YUI,它会成为 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 supports following browsers :

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

  • 即将推出的 Dojo 1.5(将在几天内发布)已使用以下浏览器进行了广泛测试:
  • 火狐 3.5/3.6
  • Safari 4/Safari 5 和 Chrome 5
  • IE6、IE7、IE8
  • Opera 10.53 及更高版本(仅限 Dojo 核心)

  • 突出显示与 YUI 的 A 级浏览器的差异:
  • 除了 Windows 和 Mac,Dojo 还支持 Linux。
  • Dojo 在所有支持的操作系统上都支持 Google Chrome。
  • Dojo 在所有受支持的操作系统上都支持 Firefox。
  • Dojo Core 在所有支持的操作系统上都支持 Opera。

  • 我个人可以补充一点,我仍然在 Firefox 2 上测试 dojox.gfx(跨平台图形包)——它涉及 Dojo Core 并且按预期工作。我在几个奇特的浏览器上测试了 Dojo Core,比如 Midori .

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

    模块组件

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

    所有构建块都向用户公开,因此他们可以创建自己的组件,这将是一等公民:它们可以像任何其他模块一样加载,由构建器处理(依赖项跟踪、缩小、CSS 预处理等),用户甚至可以完成异国情调的 CDN 构建。您可以使用库存 Dojo 组件做的任何事情,您都可以使用自己的组件做。

    Dojo 本身分为 3 个子项目,可以单独使用:
  • Dojo (包括 Dojo Base 作为单个文件)
  • Dijit :小部件集合
  • DojoX :更多小部件,以及约 50 个包,涵盖从跨平台图表到加密的所有内容。

  • 最容易学习和整合

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

    每个有经验的程序员通常都有一个迷你库,这些东西在以前的项目中对他/她来说效果很好。他或她知道应该避免什么和使用什么。当我意识到 Dojo 是这个类固醇的库时,它在我的脑海中“咔哒”了一下——就像几位专家聚在一起并仔细组合他们的个人库一样。当然,它有很多不同的模块,但我只能在我的特定项目中使用我想要的东西——我没有被迫使用所有东西,我也不会为我不使用的东西付费。甚至不是抽象惩罚。

    如果您了解 JavaScript 并熟悉 HTML、CSS 和 DOM,那么您就会感到宾至如归。

    关于javascript - Dojo 与 YUI javascript 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3214844/

    相关文章:

    javascript - dojox.grid.DataGrid 自定义单元格?

    javascript - 不允许使用 Z-INDEX 单击另一个 div 下面的 div 在 IE 上不起作用

    javascript - DOJO实例化和使用源码的区别

    javascript - YUI 悬停事件淡入淡出

    windows - ANT 脚本不工作

    javascript - 非法遮蔽(用 var 遮蔽 let)

    javascript - 每次调用一个函数你能返回不同的值吗? - JavaScript

    javascript - php 中的静态标题布局

    php - 如何生成动态 Javascript?

    javascript - GAE jinja2 无法导入自定义 javascript 文件