大师之间的论战 jQuery之父谈YUI3差在哪
近日,有人在Quora上提了一个问题:“YUI3如何提升其影响力?”,这个问题引起社区的热议。而本次讨论的最大亮点在于jQuery之父John Resig和YUI3架构师Nicholas C. Zakas也参与讨论之中,同时Nicholas C. Zakas对John Resig的某些观点进行了反驳。
两位大佬直接对话实属难得,辩论暗涌澎湃精彩至极,希望对有志于开发“库/框架”的同仁们有所启迪。
如何提升YUI的影响力,John Resig通过回答下面两个的问题,表达了自己的观点:
1. YUI应当如何改进,以便更多的人来使用?
2. YUI如何提升才能改善和jQuery的竞争力?
在回答第一个问题时,John Resig表示:
和其他JavaScript库相比,YUI的确很赞,但由于它的域名分散、代码库过多且引入方式太多,这就导致了YUI无法更多的去占领市场。
在假设目前的YUI3版本已经“足够优秀”,YUI文档和论坛也已经足够完善,足以吸引更多的用户来使用YUI3的情况下,他提议把分散的域名合并成一个;把多代码库合并成一个代码库;把YUI的引入方式缩减至一种。简单讲,YUI项目应当保留一个整体的方向性,重点太分散,则会事与愿违。
YUI3架构师Nicholas C. Zakas对John Resig的观点表示十分赞同,他说:
我承认,分散的站点的确是YUI的一个问题,不止一个人曾经纠结于到底应该访问YDN呢还是访问YUILibrary.com?这是YUI首先要解决的问题。同样,John对于简化YUI文档首页上的引导信息的建议也相当不错,是个好主意。
关于YUI该如何提升才能改善和jQuery的竞争力,John Resig则称首先YUI项目本身依然存在着诸多结构性问题,需要改善。他表示:
如今,如果YUI直接和jQuery进行竞争,YUI和它的子项目的运作方式都需要做出调整。因为现在的YUI项目运作方式与YAHOO的工作方法是背道而驰的。鉴于目前的管理方式的极差的操作性,YUI项目着实是一个不幸的牺牲品。
John Resig本人还特别希望YUI官方网站能够重构,让人们更快的找到他们想要的组件,包括那些社区提供的组件。重新定制首页,让访问者一眼就能看到SimpleYUI,再从YUI组件库中挑选一些很酷的组件放在首页下方,并直接引导用户能进入到YUI Gallery。
Nicholas C. Zakas对此观点不是很同意,他说:
“我不认为YUI和jQuery之间存在你死我活的竞争关系”。
他表示不想将YUI搞成另外一个jQuery。这两个库各自都有优点,且重合度极小。jQuery更适合小网站使用,毕竟它很简单、大众、人人都可以快速上手,因此jQuery有着庞大的设计师群体。但他不愿意拿jQuery来搭建Yahoo首页。因为对于可扩展的Web应用,YUI的确更胜一筹。他认为仅凭一个单一的产品很难满足所有用户多样化的需求。jQuery在其专注的方面的确富有想象力,他宁愿将YUI的关注点放在解决复杂Web应用方面的问题上。
John Resig表示YUI要提升与jQuery的竞争力,还要建立开源的社区制度。他说:
开源社区是YUI可持续发展的关键所在,它会带来更多的反馈和热情的开发者,YUI的影响力也在开源社区中潜移默化的影响这其中的每个人,Yahoo不应是其唯一的维护者,维护者应当来自于更广阔的开源社区。
YUI项目有强大的YAHOO全职全薪的开发团队进行独立开发,YUI的命运掌控在YAHOO手中。至今还没有非雅虎的YUI社区,很多非雅虎的开发者为YUI贡献了很多不错的代码,但他们都没有提交权限,他表示这是一个严重的问题。反观jQuery的成功,在很大程度上得益于开发者的反馈和帮助,jQuery从社区中得到了大量的滋养。鉴于YUI自身独立、开源的特性,他提议YUI应当从YAHOO剥离出来,建立一个持有YUI 100%版权的非营利组织,并让非官方的开发者来负责项目的运作,这对 YUI 的发展和提升其在社区的活力有着非同一般的意义。
Nicholas C. Zakas对此观点十分反对,他表示:
正是得益于雅虎的庇佑,YUI才如此价值连城。
他说将YUI从Yahoo剥离出来,才真正剥夺了它的战略优势。当YUI专注于这些高端项目和某些私有项目的时候,就没办法同时顾及到那些开源社区了。同时他更不赞同“Yahoo不应当“操纵” YUI的命运”的说法。他认为是Yahoo让YUI闪光的。任何一个开源项目都有一个核心的开发团队,他们的工作除了维护项目源码之外,还负责培养开发者、并为他们提供学习路线图。雅虎为YUI的开发者们支付薪水,这并不能改变项目的本质。
至于YUI是否可以改进社区的形式和贡献代码的模式?Nicholas C. Zakas表示当然可以,而且不必与Yahoo切断联系。他称YUI3是一个高质量的产品,在不断壮大的开源社区中有着强劲的生命力,如果硬要指责YUI团队的不称职的话,也只是他们忽视了市场营销的重要性,和缺乏行之有效的推广手段,而这两方面正是jQuery的强项,这也是YUI需要向jQuery学习的地方。