SitePointAra Pehlivanina最近采访了John Resig。谈了JavaScript库、John Resig得意的几个项目、那本JavaScript高手期待已久但却一再推迟的Secrets of the JavaScript Ninja,还谈了Resig的个人生活。

SP:作为jQuery的创建者,你如何看待JavaScript库之间的竞争,以及它们将来的发展?

Resig:JavaScript都要经历几个循环(从某角度上讲,类似浏览器)。首先是一段时间的竞争,然后是相互合作,最后就是同质化。例如,目前所有库均已实现的CSS选择符引擎,最初竞争的焦点是引擎性能;人们以最有效方式反复实现同一特性,造就了不同实现性能上的差异。然后,不同的库开始合作,就共同支持的选择符集合达成一致,同时也共享提升性能的技术。结果,我们就看到了同质化的代码基——形成一个统一的后台(如Sizzle)。对于库中都存在的其他特性,肯定也要经历类似的循环。

库的最大好处表现在两方面:一是应该帮助用户处理浏览器问题,二是应该为用户提供能够简化开发的API。成功的库必须同时做到这两点。不过,也应该知道,寻求一种统一的库不太可能。毕竟,库与库间的差别主要体现在API,以及如何解决浏览器问题上。让所有库都提供平淡、通用的API,只会导致用户对其反复修补(Turning it into a bland, generic API will only result in a device that users will have to paper over again and again.)。

SP:Sizzle是什么?

Resig:Sizzle是一个新的纯JavaScript写成的CSS选择符引擎。Sizzle是这个引擎的代号,它最终会成为jQuery的新引擎。我希望能有一个高效(至少与其他竞争性引擎相比)、纤小(较小的文件)、容易扩展并且没有依赖性的引擎。

实现这样一个引擎的必要性在于,它很可能被其他一些主要的库采用。我已经跟MochiKitPrototypeDojoTinyMCE团队谈过了,他们都表示对Sizzle的代码基很感兴趣。如果能统一JavaScript中CSS选择符的使用就再好不过了。 查看全文 »

Tags: ,