在 11 月 3 号的时候,有人在 Quora 上提了一个问题:How could YUI improve its image compared to jQuery, MooTools, etc.? 下面有一些回复,最好的一个回复是来自于 jQuery 的老爹 John Resig ,然后这个回复被 Yahoo! 的前端工程师 Zakas 看到了,于是 Zakas 就写了一篇 Blog: Response to John Resig’s comments about YUI 来回应 John Resig 的一些观点. 这场争论实在是精彩绝伦,比中国同时上演的 360VSQQ 要大气得多,完全就事论事,没有人身攻击,而且所有的表达都是经过深刻思考的。
John 和 Zakas 的争论主要集中在以下两点:
1. John 认为 YUI 和 jQuery 是竞争关系,而 Zakas 不这么认为。Zakas 说这两个类库各有各的长处,而且重叠的地方很少。 jQuery 简单好用,很适合小型的网站,而且非常容易上手,这也是为什么很多设计师都在用 jQuery. 但是 YUI 更适合创建大型的 Web 应用程序,比如 Yahoo! 的主页。
2. John 觉得 YUI 一直是由 Yahoo! 的全职员工进行开发和维护的,虽然这样可以保证 YUI 的开发,但是由 Yahoo! 完全掌控对 YUI 也是不利的,他希望 YUI 可以从 Yahoo! 分离出去,变成一个独立的开源项目。Zakas 不认同这个观点,他说人们总觉得一个项目如果和某个公司联系得太紧密就不能算是开源项目,有人也和 Zakas 说过:“我非常喜欢 YUI 而且很想使用他,但 YUI 里面的 Y 让我不舒服”。Zakas 觉得 YUI 由 Yahoo! 来负责开发是一个巨大的优势,而不是一个劣势。 因为有 Yahoo! 的全职工程师开发,所以可以保证这个项目会一直有人在做,而且 YUI 会被使用到 Yahoo! 的各个项目当中,这就意味着 YUI 必须在很多方面都做得很好才可以应付那么大的流量和各种各样的浏览器。最新的 Yahoo! 首页就使用了 YUI 3,“How many other libraries can say that they were testing on a top-5 web site? ” 这保证了正式发布的每一个 YUI 版本的质量,如果把 YUI 从 Yahoo! 完全独立出去对 YUI 来说就失去了一个很大的优势。
尽管 YUI 是由 Yahoo! 的全职员工在开发,但这并不意味着 Yahoo! 会控制 YUI 的命运。每一个开源项目都会有一些核心人员,只不过 YUI 的核心人员是由 Yahoo! 发工资的。Zakas 还举了 Mozilla 基金会的例子:尽管 Firefox 的核心开发人员是 Mozilla 的全职员工,但这并不能否认 Firefox 是一个很好的开源项目。
讨论的全文请看 jayli 的翻译:
============ 分割线 =============
前一段时间和一个同事聊起 YUI,他说他不喜欢,为什么呢?“我不想每次写代码都要先说一声 Yahoo”(YUI 2 中的 namespace 基本都是 Yahoo 开头的)。 我听了之后有点讶异,因为我实在没有想到 “Yahoo” 这个词会成为不使用 YUI 的原因。不过话说回来,YUI 确实显得比较官方,而且自从微软那次要收购 Yahoo! 之后,很多人现在对 Yahoo! 已经完全不屑一顾了,觉得好像使用 Yahoo! 而不是 Google 的技术就是落后(这也是促使我写那篇怀念雅虎的文章的原因之一)。
我希望那些因为 Yahoo! 而不愿意使用 YUI 的人好好看一下 Zakas 的这篇回应,因为有些时候使用 YUI 确实要比 jQuery 更合适。听到有人说“现在没人用 YUI,大家都用 jQuery”的时候我就觉得很无语,并不是因为对 jQuery 有意见,而是觉得“大家都用 jQuery”就说明你的项目就该使用 jQuery 么?很多人连 YUI 的文档都没有怎么看过就觉得 YUI 垃圾,实在是错过了很好的学习机会。不夸张地说,YUI 3 的代码可以拿来做 JavaScript 的教科书了。
当然,YUI 本身的文档虽然齐全,但是中文资料远不如 jQuery ,学习曲线也相对陡峭,所以在国内使用的人数也比较少。希望 jayli 大牛和 kejun 大牛以后多在交流会上推广下 YUI 吧。
觉得文章有用?立即: 和朋友一起 共学习 共进步!
建议继续学习:
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习