面对繁杂的 JavaScript 库,其实到最后其实是 设计哲学的问题 。这篇文章将要介绍的是篇名为 KISSY 的 JavaScript 库。
渊源
前面也说过,JavaScript 库已经足够的多。可能看起来又要重新建立一套 JavaScript 库,有点重复造「轮子」的嫌疑,而 KISSY 的出现只是顺水推舟的结果。
过多的话语已经难以解释清楚 KISSY 的渊源, 这里有个详细的说明 。
风格
KISSY 的多数设计哲学源自 YUI3 ,同时也借鉴 了其他 JavaScript 库,我们可以看它的典型调用:
(function() {
var S = KISSY, Y = YAHOO.util, Dom = Y.Dom,
descList = S.DOM.children('#slideFocus ul.desc-list li');
S.Slide('#slideFocus', {
contentCls: 'pic-list',
navCls: 'thumbs-list',
activeTriggerCls: 'current',
effect: 'scrollx',
easing: YAHOO.util.Easing.easeOutStrong
})
.on('beforeSwitch', function(ev) {
S.each(descList, function(desc, i) {
desc.style.display = i === ev.toIndex ? 'block' : 'none';
});
});
})();
我们可以看到若隐若现的其他框架的风格,例如 jQuery 和 mootools,总之使用 KISSY 你会「重新找回书写 JavaScript 的快感」。
从框架结构上说,KISSY 是相对精简的一套库,核心(core)非常的精炼。甚至你可以考虑基于 KISSY 扩展出适合自己的框架,例如针对 iPad 等等的特定库。
未来
KISSY 是开源项目,基于 MIT 协议发布。因此,KISSY 的未来掌握在广大开发者手中。相比目前现有的成熟的框架库,KISSY 还是个初生的新儿,因此尤其需要大家的支持。
目前 KISSY 已经部署到淘宝的大部分页面(包括首页),承受着不同浏览器以及大规模访 问量的考验。有理由相信 KISSY 能部署到更多的地方,让业界一起分享我们在前端方面的 心得和经验。
如果你有任何疑问,可以 访问 KISSY 的项目主页 ;同时官方站点、文档等方面也正在筹备和编写中。KISSY 的成长离不开广大同行的支持,我们的愿景是:
小巧灵活、简洁实用,使用起来让人感到愉悦
最后,感谢 玉伯 的努力,KISSY 的成长他付出了很多。
-- EOF --