• KISSY 1.3.0 发布,淘宝 Web UI 库


    kissy 是淘宝一个开源的 JavaScript 库,包含的组件有:日历、图片放大镜、卡片切换、弹出窗口、输入建议等

    距离 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'
          }]
      });
      
    • 增加新的模块:promise,uri,stylesheet,combobox,color,swf,xtemplate

    • KISSY 新的英文 api 文档

    性能与可访问性

    • 移动支持

      • 所有模块按照设备能力按需加载
      • 线上启用 combo 模式减少链接数
      • 支持手势事件 pinch, rotate, tap ….
      • 大部分组件支持触屏下使用
    • 性能

      • 部分模块选择性加载,例如 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

    下载地址:https://github.com/kissyteam/kissy/archive/1.3.0.zip

  • 相关阅读:
    spring3: Bean的命名与Bean的实例化
    极客软件测试52讲总结分享
    如何有效地搭建测试环境?
    用xshell 连接docker Linux服务器
    python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告
    CI持续集成系统环境--Gitlab+Gerrit+Jenkins完整对接
    jenkins 关联 钉钉机器人
    Jenkins pipeline 语法详解
    jenkins 添加 证书凭证Credentials
    项目中使用的S2SH整合中使用的struts.xml(参考模板)
  • 原文地址:https://www.cnblogs.com/dushu/p/2835186.html
Copyright © 2020-2023  润新知