kissy简介
kISSY是什么?
KISSY是一个开源的javascript项目,其主体是一个前端UI开发框架,即KissyUI。本文所述的kissy是仅指其内核部分的kissy.js中的语言与框架设计思想。KISSY项目的开源网站是:http://kissyteam.github.com/
kissy怎么使用呢?
尽管在KissyUI向kissy内核化的过程中,我们提出了一些新的概念与框架模型,但事实上,我们并未改变KissyUI的任何使用惯例。从代码上来看,kissy.js和lang.js以后的其它模块,并没有任何的变化,因此如果仅是将kissy当成一个UI系统来使用,你可以参考上面的开源网站,其中既有的KissyUI文档是完全有效的,而且KissyUI本身也是一个优秀的、便捷的Web UI框架。但是,kissy系统在模向合并和组织上的能力大大增强了。
下载源代码后,可以看到整个代码压缩后的kissy-min.js文件大小为42kb(jQuery-min为71kb,dojo core为88kb)
查看官网文档,发现kissy项目分为9个部分
而kissy.js核心的结构可以分为
基类为kissy,提供以下方法
(这里给开发者提一个小小的建议,初看这个文档,我一直以为要访问add方法,需要kissy.kissy.add这样的申明方式,可能是看ext/dojo的文档看多了,看到kissy这种组织方式的文档,让我无法一眼,知道具体方法的使用方式,希望能改进下吧。。。)
了解核心api
与所有的js框架一样,kissy提供了kissy.Config对象实现kissy框架初始加载的配置信息,
和一个DocumentReady事件,kissy.ready(fn)方法,
(这里开发者没写,ready注册的多个事件的执行顺序,通过查看源代码,可以知道,ready注册的事件是放在一个list里面的,执行时候,按照先进先出的原则执行)
还有一个监测元素可用时执行的方法available
不过总觉得这里的立刻执行有歧义,其原理通用是一个timer,延时扫描,不能算立刻
封装了简单了debug输出,实现了一个log,error方法,利用浏览器的console
为了组件化管理,实现了命名空间(namespace),对象继承(extend)和对象成员拷贝(mix/merge),原型拷贝(argument),对象申明(app)等方法。