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 相关文章推荐
jquery图片上下tab切换效果
Mar 18 Javascript
JavaScript日期时间格式化函数分享
May 05 Javascript
基于编写jQuery的无缝滚动插件
Aug 02 Javascript
jquery中filter方法用法实例分析
Feb 06 Javascript
JS实现选中当前菜单后高亮显示的导航条效果
Oct 15 Javascript
javascript数组克隆简单实现方法
Dec 16 Javascript
JS获取地址栏参数的两种方法(简单实用)
Jun 14 Javascript
利用js定义一个导航条菜单
Mar 14 Javascript
微信小程序仿知乎实现评论留言功能
Nov 28 Javascript
微信小程序mpvue点击按钮获取button值的方法
May 29 Javascript
JavaScript面试中常考的字符串操作方法大全(包含ES6)
May 10 Javascript
React四级菜单的实现
Apr 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内存相关的功能特性详解
2013/06/08 PHP
6种php上传图片重命名的方法实例
2013/11/04 PHP
php使用mb_check_encoding检查字符串在指定的编码里是否有效
2013/11/07 PHP
PHP 实现类似js中alert() 提示框
2015/03/18 PHP
thinkPHP微信分享接口JSSDK用法实例
2017/07/07 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
JavaScript中的运算符种类及其规则介绍
2013/09/26 Javascript
Json序列化和反序列化方法解析
2013/12/19 Javascript
jquery高级编程的最佳实践详解
2014/03/23 Javascript
JS获得选取checkbox整行数据的方法
2015/01/28 Javascript
jQuery实现图片轮播效果代码(基于jquery.pack.js插件)
2016/06/02 Javascript
基于jquery插件编写countdown计时器
2016/06/12 Javascript
JS滚动到指定位置导航栏固定顶部
2017/07/03 Javascript
vue自定义filters过滤器
2018/04/26 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
2019/04/03 Javascript
Python标准库之循环器(itertools)介绍
2014/11/25 Python
Python中的defaultdict与__missing__()使用介绍
2018/02/03 Python
使用python将大量数据导出到Excel中的小技巧分享
2018/06/14 Python
python实现连连看辅助之图像识别延伸
2019/07/17 Python
Python利用神经网络解决非线性回归问题实例详解
2019/07/19 Python
Python随机函数库random的使用方法详解
2019/08/21 Python
django xadmin 管理器常用显示设置方式
2020/03/11 Python
keras 解决加载lstm+crf模型出错的问题
2020/06/10 Python
Django模型验证器介绍与源码分析
2020/09/08 Python
canvas实现按住鼠标移动绘制出轨迹的示例代码
2018/02/05 HTML / CSS
HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧
2018/08/28 HTML / CSS
某公司C#程序员面试题笔试题
2014/05/26 面试题
儿科护士实习自我鉴定
2013/10/17 职场文书
岗位职责的构建方法
2014/02/01 职场文书
父母寄语大全
2014/04/12 职场文书
推荐信模板
2014/05/09 职场文书
廉洁自律演讲稿
2014/05/22 职场文书
班主任自我评价范文
2015/03/11 职场文书
2015年班主任德育工作总结
2015/05/21 职场文书
导游词之海南-南湾猴岛
2019/10/12 职场文书
详解非极大值抑制算法之Python实现
2021/06/28 Python