- 稳定性
- 代码质量
- 核心开发者在新功能上的推进情况
- 跨浏览器问题
- 模块组件
- 最易学和集成的
谢谢!
免责声明:我是Dojo的贡献者。
在这次比较中,似乎没有人提出Dojo的观点——没有Dojo的话就不算是一次比较了,对吧?让我来看看你的观点。
健壮性
Dojo被许多国际大公司用于IT项目。我个人参与了VMware、IBM、思科、路透社汤姆森等公司的项目。我可以向你展示实际的贡献者名单http://docs.dojocampus.org/developer/contributors,而不是转发给你“市场宣传资料”——向下滚动以查看贡献(和使用)Dojo的公司。
我们保留个人和公司贡献者的名单,以便我们的用户可以确信Dojo代码的知识产权来源是干净的——每个贡献者都签署了一个CLA,声明他/她/它编写了贡献的代码和/或有权在AFL/BSD双重许可下进行贡献。到目前为止,我们还没有遇到任何问题。
据我所知,YUI主要由一家公司——Yahoo!开发。自2005年开始开发,仅在两年前开始接受外部贡献,现在也需要签署CLA。请注意,本文中的HTML标签已被保留。核心开发人员推进新功能
Dojo拥有一个活跃繁荣的社区, 使项目不断向前发展。作为核心开发人员之一,我保证我们将继续推动这个项目的发展,让其创新能力更上一层楼。
Dojo已经在创新方面取得了卓越成绩,并且我们不会停止。
跨浏览器问题
即将发布的Dojo 1.5已经在以下浏览器上进行了广泛测试:
与 YUI 的 A 级浏览器相比的区别:
个人认为,我仍然会在 Firefox 2 上测试 dojox.gfx(跨平台图形包)- 它涉及 Dojo 核心,并且它可以正常工作。而且我会在一些奇特的浏览器(如 Midori)上测试 Dojo 核心。
另一个区别是,Dojo 可以在桌面和服务器环境中使用(并且确实在使用)。显然,那些特定于浏览器的组件不会被这些环境使用。
模块组件
从一开始,Dojo就提供了类、模块和包(模块的集合)。Dijit提供小部件:带有统一接口的打包HTML + JavaScript。最易学习和集成
Dojo只是JavaScript和常规的HTML/DOM(用于小部件)。它不会假装成其他东西,也不是一个有着领袖的邪教,也不是一个"框架",它不会控制你的应用程序并强制你做一些奇怪的事情,Dojo不想"改进" "不完美"的JavaScript,Dojo不想伪装浏览器成为其他东西。相反,Dojo提供实用工具,使程序员更加高效,促进RAD,解决常见问题,并支持有用的技术和方法。
每个经验丰富的程序员通常都有一个在以前项目中表现良好的小型库。他或她知道要避免什么和使用什么。当我意识到Dojo就像几位专家聚在一起,精心结合自己的个人库时,这一切"恍然大悟"。当然,它有很多不同的模块,但我可以只使用我特定项目所需的内容-我不被强迫使用所有内容,我也不为我不使用的内容付费。甚至没有抽象惩罚。
如果你了解JavaScript并熟悉HTML、CSS和DOM-你将感到非常舒适。
我认为你拒绝jquery的原因听起来有些可疑,而将一个框架推荐为“企业级就绪”则是我的反讽。
然而,我有很多使用YUI(2和3)的经验,我认为它可能适合您的用例。
知道JQuery是最易于使用和广受欢迎的,Dojo有其集成在Zend Framework中的优势。此外,作为库或框架的差异很重要。 - 库是关于可重用功能,但框架是关于可重用行为 - 库是从您的代码调用/继承的内容,但框架是调用您的代码或为您的代码提供服务的内容 - 库是组件和类的集合,而框架是抽象类和组件如何相互交互。