zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    LeetCode 242. Valid Anagram (验证变位词)
    LeetCode 205. Isomorphic Strings (同构字符串)
    LeetCode 204. Count Primes (质数的个数)
    LeetCode 202. Happy Number (快乐数字)
    LeetCode 170. Two Sum III
    LeetCode 136. Single Number (落单的数)
    LeetCode 697. Degree of an Array (数组的度)
    LeetCode 695. Max Area of Island (岛的最大区域)
    Spark中的键值对操作
    各种排序算法总结
  • 原文地址:https://www.cnblogs.com/dushu/p/2835186.html
Copyright © 2011-2022 走看看