KISSY 1.3.0 发布,淘宝开源 JS 类库
KISSY 是由淘宝前端攻城师们发起创建的一个开源 JS 类库。
她遵循的原则是 小巧灵活、简洁实用、愉悦编码、快乐开发。
距离 KISSY 1.2.0 发布已过一年,自 KISSY 1.3rc 发布后, 1.3 又继续经历了即将发布的店铺系统,搜索系统,商品详情系统的锤炼,并做了必要的调整和优化。今天终于可以高兴地宣布: KISSY 1.3.0 正式版发布了。你可以通过淘宝 cdn 在线引用(推荐)或者直接从 github 下载 或者使用 npm 安装. 官网文档也进行了相应更新,覆盖了 1.3 涉及到的新特性以及修改,请清除缓存后访问 KISSY 1.3 文档首页.
下面简单介绍下 1.3.0 相对于 1.2.0 的新特性与不兼容之处,也可查看 发布 ppt 介绍.
新特性
前提
-
不要静态引入 KISSY 模块文件,例如
<script src='http://a.tbcdn.cn/s/kissy/1.3.0/overlay.js'></script>
-
推荐只静态引入 seed-min.js,通过 use require 使用其他模块,另外:
- 尽量少 use
- 线上设置 combo 模式(需要服务器支持 combo )
稳定性提升
- 使用 phantomjs travis nodejs 来支持 KISSY 的持续集成。
- 单元测试覆盖率提升,目测 80% 左右,后面需精确统计.
协作效率提升
- package 机制支持多个业务间的无缝协作
- combo 模式支持每个业务耗费最小的链接数,后面会继续优化业务间的链接数
- 内置 gallery package,更容易的通用模块共享机制,引用 cdn 版本直接 use('gallery/xx') 即可。
开发更便捷
- 线上 combo 模式与开发阶段匿名模块的无缝切换
- 组件加强了一致性
- 对外 api: new/render/plugin/listeners
- 生命周期事件: afterRenderUI/afterBindUI/destroy/show/hide
- 组件即模块, use/require 按需使用
-
组件通过 json 初始化达到更好的易用性
new Menu({ children:[{ content:'menuitem' }], plugins:[], listeners:[] }); new Tree({ content:'root', children:[{ content:'node' }] });
- KISSY 新的英文 api 文档
性能与可访问性
-
移动支持
-
性能
- 部分模块选择性加载,例如 ie 的兼容性模块( json2/event hashchange/dom ie… )不会被标准浏览器加载
- 通过延迟初始化,提高了层级组件的性能.
不兼容处
-
删除了 KISSY.app 方法,移除了 csspath/cssfullpath/path/fullpath 配置,请使用 1.3 推荐的 模块化机制 .
-
KISSY.add(name, fn), fn 只有在 use 或者 require name 时执行。请需要对应模块功能时要 use 或者 require
-
suggest/template/flash/validation 移到了 gallery。 使用的话请修改模块名字:gallery/suggest/1.0/,gallery/template/1.0/,gallery/validation/1.0/,gallery/flash/1.0/.
-
dd 的代理和监控滚动功能独立为单独的模块:dd/pplugin/proxy,dd/plugin/scroll, 使用方式也改为统一的插件 api:
new Draggable().plug(new ProxyPlugin()) // or new Draggable({ plugins: [new ProxyPlugin()] })
-
overlay 的 resize 和 draggable 功能也独立为单独的模块:component/plugin/drag,component/plugin/resize, 使用方式也改为统一的插件 api:
new Overlay().plug(new DragPlugin()); // or new Overlay({ plugins:[new DragPlugin()] });
-
editor 重构
- 使用统一的组件 api 与模块化机制
详细 changelog
详细 changelog 可到文档页面具体查看。
1.3 修复的 bug 可到 github issues 里查阅.
next -> 1.4
下个版本中初步规划在两个方面完善:
-
基础架构
- test coverage
- ie 持续集成探索??
- 链接数继续优化
- 快速的 build 机制探索
-
基础组件
- date/datasource/graphic
- 无缝加载的 css 选择器
- data-picker
- color-picker
- switchable 重构
- grid??
具体 roadmap 有兴趣可关注 github
感谢
在此,感谢曾经帮助过或现在仍然在持续推动 KISSY 发展的人们,希望 KISSY 能帮助更多普通的中国前端工程师。
特别感谢以下人员的工作:
- 服务线团队对 KISSY 1.3 的首先尝试:常胤,玉门,七念,云休,棪木,清羽。
- KISSY Gallery 虚拟团队对 KISSY 组件化的无私贡献:剑平,常胤,翰文,玉门,七念,林谦,紫英,张挺,牧云,易敛,伯方,流火,元泉,基德。
- etao 兄弟团队对 KISSY 的不懈支持:李牧,左莫,基德,龙笛,逸才,雨异,云聪,阿大
- KISSY PIE 工具团队对基于 KISSY 开发效率的大幅提升:文龙,紫英,遇春,张挺,剑平
- 年底升级项目团队包括 tmall 兄弟团队对 KISSY 的理解与宽容:游侠,水儿,石霸,霸先,大遒,渐飞,文龙,释然,凤寻,三七
还有更多在日常工作中帮助过 KISSY 完善的工程师们:
阿克,道璘,地极,董晓庆,额台,方元,飞长,妙净,鸣弦,墨锋,苏河,铁军,亚城,隐若,影风,元晃,缘灭,云谦,展炎,展烨,龙欣,龙刚,拔赤 …
以及玉伯,小马,圆心对 KISSY 一如既往的支持.