Javascript前端UI框架Kit使用指南之Kitjs简介


Posted in Javascript onNovember 28, 2014

Kitjs,(http://xueduany.github.com/KitJs),是我2011年底,离开淘宝UED之后,自己搞起的一套HTML5的前端widget库,原本的用途主攻手机端HTML页面交互组件使用,正如其字面意思Kit一样,愿景是做一个娇小,实用,既可以直接拿来用,也可以很方便做2次开发的一套组件。后来由于项目的越做越大,组件数的膨胀,也加入PC端浏览器(IE6+,FF,chrome核心系列等等)的支持,不再仅限于原来手机开发领域,开始正式迈向全平台。所以近期也对原来的所有模块按照jsdoc规范更新了一遍API文档,逐步开源给大家使用。

先放个Kitjs族谱,让大家对于kit有个基本的认识

Javascript前端UI框架Kit使用指南之Kitjs简介

怎么样,是不是密密麻麻看的有点头晕,其实我看了也晕^_^,简单来说,kitjs和dojo类似的,分为以

1. kit.js为核心的,围绕kit扩展的js工具模块,类似dojo

2. 和kit.ui命名空间下组件模块,类似dijit

3. 还有一个和dojoX一样的实验室项目,这里没有标明。

在KitJs的组件里面,有一些我以前在博客中发布过的优秀组件,如

Javascript前端UI框架Kit使用指南之Kitjs简介

音频播放器

Javascript前端UI框架Kit使用指南之Kitjs简介

iphone效果的选项卡

Javascript前端UI框架Kit使用指南之Kitjs简介

comboBox

Javascript前端UI框架Kit使用指南之Kitjs简介

3D相册

Javascript前端UI框架Kit使用指南之Kitjs简介Javascript前端UI框架Kit使用指南之Kitjs简介

日历

Javascript前端UI框架Kit使用指南之Kitjs简介

LightBox

等等

还有一些更优秀的组件尚在内部使用,或者开发中,会逐步放出来给大家使用。所有的KitJs的组件都满足以下愿景

1. 更贴近中文用户的使用感受

2. 更贴近中文开发者的注释和文档

3. 一定要提供现有的市面的组件不提供,而大家都需要的功能

4. 足够细粒度的模块,方便组装合并成为一个更大的widget

在KitJs工具模块里面,所有代码都是基于Class Prototype扩展开的,同时提供了实例化后的全局对象供开发者使用,所有的类命名都是首字母大写,所有的实例对象都是首字母小写,kit以$字符开头,是为了方便与其他类库区分开。同时,在工具模块里面,所有的method的写法都是函数编程风格的,这点和Kissy是一样的,同时Kit提供给习惯用jQuery开发的同学,加载suger.js,即可像使用jQuery一样,使用kitjs书写代码,方法名和使用方式都和jQuery一模一样,这里以一个dom ready事件举例

$kit.$(function($) {

$('.item', $('#gallery')).each(function() {

$(this).css({

top : $kit.math.rand($('#gallery').innerHeight()) + 'px',

left : $kit.math.rand($('#gallery').innerWidth()) + 'px',

'-webkit-transform' : 'rotate(' + $kit.math.rand(-40, 40) + 'deg)'

});

}).pushStack('a.kitLightBox').each(function() {

new $kit.ui.LightBox({

el : this

}).init();

});

});

$kit.$是kitjs的dom ready事件,参数匿名方法的参数$,是传递了$kit.$方法给他内部的闭包,这样在内部闭包里面既可以直接使用$代替$kit.$(等同与jQuery的$选择器),这样闭包内所有的代码都和jQuery无异了。也方便JQuery代码与KitJs代码的互相移植。

本文是KITJS框架使用指南系列的第一篇,仅仅是简单介绍了下kitjs,后续我们再来详细了解这款优秀的前端UI框架。

Javascript 相关文章推荐
原型方法的不同写法居然会影响调试的解决方法
Mar 08 Javascript
JavaScript 浮点数运算 精度问题
Oct 06 Javascript
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
Apr 27 Javascript
跟我学习javascript的for循环和for...in循环
Nov 18 Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
Mar 27 Javascript
通过命令行创建vue项目的方法
Jul 20 Javascript
如何让node运行es6模块文件及其原理详解
Dec 11 Javascript
react-native滑动吸顶效果的实现过程
Jun 03 Javascript
解决vux 中popup 组件Mask 遮罩在最上层的问题
Nov 03 Javascript
在vue中给后台接口传的值为数组的格式代码
Nov 12 Javascript
vue iview 隐藏Table组件里的某一列操作
Nov 13 Javascript
微信小程序用户授权最佳实践指南
May 08 Javascript
非jQuery实现照片散落桌子上,单击放大的LightBox效果
Nov 28 #Javascript
开源的javascript项目Kissy介绍
Nov 28 #Javascript
对比分析json及XML
Nov 28 #Javascript
jquery 操作css样式、位置、尺寸方法汇总
Nov 28 #Javascript
javascript基本类型详解
Nov 28 #Javascript
javascript中数组array及string的方法总结
Nov 28 #Javascript
20条学习javascript的编程规范的建议
Nov 28 #Javascript
You might like
php实现俄罗斯乘法实例
2015/03/07 PHP
yii2使用gridView实现下拉列表筛选数据
2017/04/10 PHP
类之Prototype.js学习
2007/06/13 Javascript
js RuntimeObject() 获取ie里面自定义函数或者属性的集合
2010/11/23 Javascript
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
jquery实现带二级菜单的导航示例
2014/04/28 Javascript
jQuery实现的原图对比窗帘效果
2014/06/15 Javascript
javascript实现iframe框架延时加载的方法
2014/10/30 Javascript
javascript原始值和对象引用实例分析
2015/04/25 Javascript
drag-and-drop实现图片浏览器预览
2015/08/06 Javascript
一种新的javascript对象创建方式Object.create()
2015/12/28 Javascript
莱鸟介绍javascript onclick事件
2016/01/06 Javascript
JS常用算法实现代码
2016/11/14 Javascript
详解Angular结合zTree异步加载节点数据
2018/01/20 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
vue2.0 实现页面导航提示引导的方法
2018/03/13 Javascript
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
jQuery实现文本显示一段时间后隐藏的方法分析
2019/06/20 jQuery
vue 获取url参数、get参数返回数组的操作
2020/11/12 Javascript
一篇不错的Python入门教程
2007/02/08 Python
Python自定义进程池实例分析【生产者、消费者模型问题】
2016/09/19 Python
Python常用的json标准库
2019/02/19 Python
Gauss-Seidel迭代算法的Python实现详解
2019/06/29 Python
pytorch中的embedding词向量的使用方法
2019/08/18 Python
Python 从attribute到property详解
2020/03/05 Python
Python接收手机短信的代码整理
2020/08/02 Python
教师申诉制度
2014/01/29 职场文书
2014年迎新年活动方案
2014/02/19 职场文书
高级销售求职信
2014/02/21 职场文书
学校三八妇女节活动情况总结
2014/03/09 职场文书
教师廉洁自律承诺书
2014/05/26 职场文书
社团活动总结格式
2014/08/29 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
2016大学生诚信考试承诺书
2016/03/25 职场文书
Ajax实现异步加载数据
2021/11/17 Javascript
pandas中关于apply+lambda的应用
2022/02/28 Python