助您的企业征战互联网 - 苜蓿草网络

淘宝全终端框架 KISSY 5 发布

时间:2014-10-17 14:42     热度:6204     来源:KISSY BLOG

KISSY 经过四年多的发展,在今天迎来了里程碑式的第五个大版本,也为了今后更加符合语义化的版本规范,新版本命名为 KISSY 5 ,你可以通过 cdn 来使用

<script src="//g.alicdn.com/kissy/k/5.0.0/seed.js" data-config="{combine:true}"></script>
<!--调试版
<script src="//g.alicdn.com/kissy/k/5.0.0/seed-debug.js" data-config="{combine:true}"></script>
-->

或者通过 npm 下载到本地使用

npm install kissy@5.0.0

或者参见源码库自行 build https://github.com/kissyteam/kissy/

接下来介绍下 KISSY 5 的一些主要特性,ppt 详见: https://speakerdeck.com/yiminghe/kissy-5-upgrade

完全 node 化的基础设施

采用 node 重建基础设施后,将以前难以维护的整体的框架拆分成为易于维护相对独立的类库,并且这些类库集合都可以通过 bower npm 等包管理工具安装使用。
完整列表和版本参见: http://kissyteam.github.io/badgeboard/

如果你不想整体得使用 kissy,也可以通过包管理工具使用组成 kissy 的一些模块。kissy 其实就是一个推荐的模块集合:https://github.com/kissyteam/kissy/blob/master/bower.json

更标准开放

采用标准的包管理工具(bower, npm)来管理模块

loader 采用标准 api: require 与 define

node 加强和 jquery 的兼容性: require(‘node’) ~= jquery

增加 path url 等和 nodejs api 一致的工具模块

更细粒度的拆分

KISSY5 核心模块进行了更细粒度的拆分,例如

将 loader 独立为 https://github.com/kissyteam/modulex , seed.js 体积从 17kb(gzip) -> 10kb(gzip)

anim 拆分为 timer 与 transition,并且在高级浏览器中直接加载较小的 transitionhttps://github.com/kissyteam/anim/tree/master/build/anim

事件手势模块则根据手势不同拆分为不同的模块: https://github.com/kissyteam/event-dom/tree/master/build/event-dom/gesture

更方便的跨终端

在 KISSY5 中模块不仅可以在浏览器中进行按终端最小化加载,你也可以根据需求在 nodejs 端使用 util xtemplate 等独立的工具模块。

核心模块更高的性能

xtemplate 经过 midway,wormhole 等项目的考验大幅提高了运行速度:https://github.com/kissyteam/xtemplate/blob/master/benchmark/result/2014-09-22-benchmark.md

所有核心模块经过 kclean 后,大幅提升了初始化速度

1.4.x

<script src='http://g.alicdn.com/kissy/k/1.4.2/seed.js' data-config="{combine:true}"></script>
<script>
var now = +new Date();
KISSY.use('combobox',function(){
    console.log(+new Date()-now); // 622
});
</script>

5.0

<script src=''//g.alicdn.com/kissy/k/5.0.0/seed-debug.js" data-config="{combine:true}"></script>
<script>
var now = +new Date();
require(['combobox'], function(){
    console.log(+new Date()-now);
});
</script>

完全重构的文档

http://docs.kissyui.com/5.0/

@秋知 开发了更加开放的文档系统: https://github.com/kissyteam/docs.kissyui.com ,包括全新的 api,demo,guide 以及在线代码编辑等功能,大家可以方便得修改提交。

兼容与升级

当然也会兼容 1.4.x 的 api,详见 @秋知 提供的兼容文件https://github.com/kissyteam/deprecated5

也可以使用 @淘杰 提供的升级工具,直接将老版本代码升级到新版本https://github.com/kissyteam/kmt

详细升级指南: https://github.com/kissyteam/deprecated5/blob/master/docs/upgrade.md

5.x 后续版本升级请关注: https://github.com/kissyteam/kissy/releases

新的篇章

本次发布同时意味着 kissy 翻开了新的一页,下个月我将离开 ued 前往新的岗位,不再负责 kissy 这个品牌,这也是我最后一次发布 kissy。kissy 诞生于 taobao ued,今后仍将属于 taobao ued,kissy 新的发展方向将由圆心团队负责,现有构成 kissy 的类库模块我仍会继续维护,不过希望大家都能参与进来,这也是这次分库的目的。在此感谢负责本次 kissy 升级计划的小组成员:九十,梧忌,亚城,元彦,凌恒,秋知,淘杰以及从 kissy 诞生以来一直坚持使用 kissy 的同学们,特别感谢小马多年对于 kissy 的支持,祝团队成员在新的环境和岗位上能够遂心所愿。

标签:  版本  Javascript  框架  kissy