Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
yiming he
PDF, PPTX
868 views
Kissy design
AI-enhanced description
该文档介绍了Kissy设计思想及其模块化机制,包括Kissy的核心组件模型和相关工具。它讨论了模块的定义和使用,强调了可维护性和性能之间的权衡。文档还提到Kissy在淘宝的实际应用及未来展望。
Technology
◦
Read more
10
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 65
2
/ 65
3
/ 65
4
/ 65
5
/ 65
6
/ 65
7
/ 65
8
/ 65
9
/ 65
10
/ 65
11
/ 65
12
/ 65
13
/ 65
14
/ 65
15
/ 65
16
/ 65
17
/ 65
18
/ 65
19
/ 65
20
/ 65
21
/ 65
22
/ 65
23
/ 65
24
/ 65
25
/ 65
26
/ 65
27
/ 65
28
/ 65
29
/ 65
30
/ 65
31
/ 65
32
/ 65
33
/ 65
34
/ 65
35
/ 65
36
/ 65
37
/ 65
38
/ 65
39
/ 65
40
/ 65
41
/ 65
42
/ 65
43
/ 65
44
/ 65
45
/ 65
46
/ 65
47
/ 65
48
/ 65
49
/ 65
50
/ 65
51
/ 65
52
/ 65
53
/ 65
54
/ 65
55
/ 65
56
/ 65
57
/ 65
58
/ 65
59
/ 65
60
/ 65
61
/ 65
62
/ 65
63
/ 65
64
/ 65
65
/ 65
More Related Content
PDF
Kissy简介
by
jay li
PDF
Dive into kissy
by
jay li
PDF
Kissy模块化实践
by
yiming he
PPTX
MySQL aio
by
zhaolinjnu
DOC
用Jquery实现拖拽层
by
yiditushe
ODP
Backbone js and requirejs
by
Chi-wen Sun
KEY
Intro-to-SeaJS
by
lifesinger
PDF
KISSY Mechanism
by
lifesinger
Kissy简介
by
jay li
Dive into kissy
by
jay li
Kissy模块化实践
by
yiming he
MySQL aio
by
zhaolinjnu
用Jquery实现拖拽层
by
yiditushe
Backbone js and requirejs
by
Chi-wen Sun
Intro-to-SeaJS
by
lifesinger
KISSY Mechanism
by
lifesinger
What's hot
PDF
KISSY for starter
by
yiming he
PDF
Yui3简介
by
jay li
PDF
mixin based component infrastructure
by
yiming he
PDF
Banquet 52
by
Koubei UED
PPTX
jQuery源码学习
by
fangdeng
PDF
不一樣的Web server... coServ
by
Ben Lue
PDF
Node way
by
Ethan Zhang
PPTX
iOS App 開發 -- Storybard 基礎練習、APP 上架、IAP
by
Ming-Sian Lin
PPT
Mysql展示功能与源码对应
by
zhaolinjnu
PDF
MySQL快速入门与提高
by
mysqlpub
PPT
ios分享
by
Lucien Li
PDF
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
by
Chu-Siang Lai
DOC
希望科技研发部变量命名及编码规范
by
Hongjian Wang
PPT
Web设计 4 锋利的j_query(进入企业级应用阶段)
by
ziggear
PPT
JQuery 学习
by
cssrain
PDF
Yui3 初探
by
isnull
PPT
iPhone,ios,Object-C基础入门
by
Lucien Li
PPTX
Mvc
by
tbmallf2e
PDF
學好 node.js 不可不知的事
by
Ben Lue
KISSY for starter
by
yiming he
Yui3简介
by
jay li
mixin based component infrastructure
by
yiming he
Banquet 52
by
Koubei UED
jQuery源码学习
by
fangdeng
不一樣的Web server... coServ
by
Ben Lue
Node way
by
Ethan Zhang
iOS App 開發 -- Storybard 基礎練習、APP 上架、IAP
by
Ming-Sian Lin
Mysql展示功能与源码对应
by
zhaolinjnu
MySQL快速入门与提高
by
mysqlpub
ios分享
by
Lucien Li
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
by
Chu-Siang Lai
希望科技研发部变量命名及编码规范
by
Hongjian Wang
Web设计 4 锋利的j_query(进入企业级应用阶段)
by
ziggear
JQuery 学习
by
cssrain
Yui3 初探
by
isnull
iPhone,ios,Object-C基础入门
by
Lucien Li
Mvc
by
tbmallf2e
學好 node.js 不可不知的事
by
Ben Lue
Similar to Kissy design
PDF
kissy modularization part1
by
yiming he
PDF
Introduction to kissy for adc 2013
by
yiming he
PDF
Simple kissy1.3
by
yiming he
PDF
kissy@2013
by
yiming he
PPTX
前端测试
by
Zheng Biao
PPTX
前端测试
by
frontwindysky
PDF
kissy at alibaba
by
yiming he
PPTX
使用kslite支持第三方内容开发
by
leneli
PDF
面向未来的前端类库开发 — KISSY 类库构想与实践
by
taobao.com
PDF
SeaJS - 前端模块化开发探索与网站性能优化实践
by
lifesinger
PDF
Kissy in-progress
by
yiming he
PDF
编辑器设计Kissy editor
by
taobao.com
PDF
旺铺前端设计和实现
by
hua qiu
PDF
KISSY 1.3-released
by
yiming he
PPTX
排行榜V3项目总结
by
Frank Xu
PDF
Kissy editor开发与设计
by
yiming he
PDF
kissy@2013.03
by
yiming he
PDF
淘宝交易平台前端重构
by
Frank Xu
PDF
July.2011.w3ctech
by
Kai Cui
PPTX
淘宝前端架构(玉伯)[懒懒交流会#38]
by
taobao.com
kissy modularization part1
by
yiming he
Introduction to kissy for adc 2013
by
yiming he
Simple kissy1.3
by
yiming he
kissy@2013
by
yiming he
前端测试
by
Zheng Biao
前端测试
by
frontwindysky
kissy at alibaba
by
yiming he
使用kslite支持第三方内容开发
by
leneli
面向未来的前端类库开发 — KISSY 类库构想与实践
by
taobao.com
SeaJS - 前端模块化开发探索与网站性能优化实践
by
lifesinger
Kissy in-progress
by
yiming he
编辑器设计Kissy editor
by
taobao.com
旺铺前端设计和实现
by
hua qiu
KISSY 1.3-released
by
yiming he
排行榜V3项目总结
by
Frank Xu
Kissy editor开发与设计
by
yiming he
kissy@2013.03
by
yiming he
淘宝交易平台前端重构
by
Frank Xu
July.2011.w3ctech
by
Kai Cui
淘宝前端架构(玉伯)[懒懒交流会#38]
by
taobao.com
More from yiming he
PDF
kissy 1.5 progress
by
yiming he
PDF
kissy modularization part2
by
yiming he
PDF
KISSY @ 2013-2
by
yiming he
PDF
KISSY 1.4.0 released
by
yiming he
PDF
callSuper in kissy
by
yiming he
PDF
KISSY XTemplate
by
yiming he
PDF
Kissy component system
by
yiming he
PDF
KISSY@2013.05
by
yiming he
PDF
Hujs 总结
by
yiming he
PDF
Kissy dpl-practice
by
yiming he
PDF
编辑器设计2
by
yiming he
PDF
KISSY Editor Design 2
by
yiming he
PDF
KISSY Component API Design
by
yiming he
PDF
Kissy autocomplete
by
yiming he
PDF
KISSY_Component
by
yiming he
PDF
kissy-past-now-future
by
yiming he
PDF
How to reduce connections with kissy
by
yiming he
PPTX
Kissy mvc
by
yiming he
PPTX
Caja "Ka-ha" Introduction
by
yiming he
PDF
ARIA in taobao
by
yiming he
kissy 1.5 progress
by
yiming he
kissy modularization part2
by
yiming he
KISSY @ 2013-2
by
yiming he
KISSY 1.4.0 released
by
yiming he
callSuper in kissy
by
yiming he
KISSY XTemplate
by
yiming he
Kissy component system
by
yiming he
KISSY@2013.05
by
yiming he
Hujs 总结
by
yiming he
Kissy dpl-practice
by
yiming he
编辑器设计2
by
yiming he
KISSY Editor Design 2
by
yiming he
KISSY Component API Design
by
yiming he
Kissy autocomplete
by
yiming he
KISSY_Component
by
yiming he
kissy-past-now-future
by
yiming he
How to reduce connections with kissy
by
yiming he
Kissy mvc
by
yiming he
Caja "Ka-ha" Introduction
by
yiming he
ARIA in taobao
by
yiming he
Kissy design
1.
---剖析 kissy 设计思想
承玉@taobao
3.
Closure library
5.
KISSY
6.
Kissy 总体介绍 Kissy 核心 Kissy 模块化机制 Kissy 组件模型 Kissy 相关工具与第三方框架 Kissy 展望
7.
Kissy on github
9.
•Suggest component
•Overlay •Editor •… •Dom core •Event •Anim •… •kernel seed •web •loader
10.
核心
11.
组件:tab,slider,overlay,imagezoom …
12.
自动补全 – suggest
13.
Kissy editor : 编辑器
14.
Core {dom/event/anim/ajax…} Web.js
kissy.js Lang.js Loader.js seed
15.
独立于环境,可运行于任意宿主环境 客户端 Browser 服务器端 Nodejs,命令行自动化测试
16.
客户端浏览器环境常用方法
17.
浏览器环境与nodejs环境 add : 模块定义 use
:动态加载模块与使用
18.
Taobao 首页示例 模块化思想 前端代码的演变 Kissy 模块化
21.
每个模块控制自身区域的交互与业务逻辑 http://a.tbcdn.cn/?? s/kissy/1.1.6/switchable/switchable-pkg-min.js, s/kissy/1.1.6/suggest/suggest-pkg-min.js, s/kissy/1.1.6/datalazyload/datalazyload-pkg-min.js, s/kissy/1.1.3/flash/flash-pkg-min.js, p/fp/2011a/expressway/profile-min.js, p/fp/2011a/header/header-min.js, p/fp/2011a/attraction/attraction-min.js, p/fp/2011a/expressway/expressway-min.js, p/fp/2011a/category/category-min.js, p/fp/2011a/category/sub-promotion-min.js, p/fp/2011a/guide/alimama-ecpm-min.js, p/fp/2010c/js/fp-hubble-monitor-min.js, p/fp/2011a/hotsale/p4p-min.js, p/fp/2011a/footer/footer-min.js?t=20110322.js
22.
KISSY
Biz mod mod Biz mod KISSY mod Page logic KISSY
23.
一种将系统分离成独立功能部分的方法 ◦ 函数分割成独立功能组 ◦ 使用面向对象来描述模块接口 ◦ 通过使用工业标准达到系统的透明可扩展 ◦ 缺点:由于模块间的消息通信导致性能受损 ◦ 优点:可维护性,焦点分离
24.
Pascal Erlang Perl Python Ruby php Java c/c++ 同步加载
25.
A.php 模块定义以及实现 ---------------------------main.php require_once("A.php"); //use A 使用 require_once 载入,防止重复 配置 include_path 定义查找路径 没有离线编译过程,引擎动态优化
26.
A.java/A.py 模块定义实现 -----------------main.java/main.py import A; //use A import 引用其他模块 classpath/sys.path 定义模块路径,自动补全后缀名 查找对应模块文件 Java 只用类来来实现模块编程,没有合并过程 (jar?),只有压缩过程(编译为紧凑的class/pyc)
28.
<body onload=“init()”> <a
href=“#” onclick=“” color=“red”> Click </a> </body>
29.
脚本,标签,样式分离 <body> <a class=„go‟id=„act‟> click me </a> <script> window.onload=function(){}; var a=document.getElementById(„go‟); a.onclick=function(){}; </script> </body>
30.
外部脚本,全局勿扰,闭包 ----------y.html <body> <a class=„go‟>click<a> <script src=„xx.js‟></script> </body> -------xx.js (function(){})();
31.
动态并行加载,前端模块依赖,自动压缩打包 Labjs : script loader Yui3 : module loader Closure library : module program
32.
不需要静态引入外部脚本 <script>
$LABjs .script(“a.js”) .script(“b.js”) .wait() .script(“c.js”); </script>
33.
利用 function wrapper 分离 load , execute ,引入模块概念 模块定义: YUI.add(“module1”,function(S){ S.Module1=function(){}; }); 模块注册 YUI.add({module1:{ Fullpath:”xxx.js” }}); 模块使用 YUI().use(“module1”,function(S){ //use S.Module1 });
34.
Commonjs/module 规范? <script src='module.js' data-main='init'> </script>
35.
原则 ◦ 内聚性 ◦ 松耦合 ◦ 零重复 ◦ 封装 ◦ 可测试性 ◦ 可读性 ◦ 单一职责 模块解耦与焦点分离
36.
KISSY.add(“dom”,function(){
KISSY.DOM ={ addClass:function(){} }; }); 直接返回值 KISSY.add(“dom”,function(KISSY){ return { addClass:function(){} }; });
37.
KISSY.add(“event-target”,function(){ KISSY.Event.Target
= function(){}; }); 命名空间精简 : KISSY.add(“event/target”,function(){ var EventTarget = function(){} return EventTarget; });
38.
根据文件系统确定模块名字 event / base.js : KISSY.add(function(){}); 就表示模块 event/base
39.
包与路径约定,批量注册模块集合 S.config({ packages:[{ name:‟m1‟, path:”http://xx.com/” }] }); S.use(“m1/base”)->http://xx.com/m1/base.js
40.
定义模块 KISSY.add(“xx”, function(S,DOM){ },{ requires:[“dom”] });
41.
使用模块: S.use(“dom”,function (S,DOM){ //use DOM });
42.
Module compiler : 根据应用打包最紧凑的框架库
43.
组件 == 模块集合 淘宝组件开发所经历的阶段介绍 Suggest->Switchable->overlay->menu
44.
代表: Suggest
45.
//默认配置 var defaultConfig={}; function Suggest(config){ S.mix(config,defaultConfig,false); //初始化 } //功能 S.augment(Suggest,EventTarget,{});
46.
单类,单文件,单模块 逻辑 (数据,控制,渲染)集中 维护性不佳
47.
代表:Switchable
49.
总体逻辑分离为几个模块文件. 单个模块逻辑功能(数据,控制,渲染)集中. 分离机制不能被其他组件公用,仅适合自身.
50.
代表:Overlay using UIBase
51.
var Component=UIBase.create(Parent,['MixComponent'],{ initializer:function(){}, _uiSetX:function(){}, renderUI:function(){}, bindUI:function(){}, destructor:function(){} },{ ATTRS:{ x:{} }, HTML_PARSER:{ yEl:".cls" } });
52.
完善的属性管理机制 生命周期管理 mixin 支持的基础框架 Refer: http://goo.gl/sgvXP
53.
代表:menu,menubutton Component , MVC 分离
55.
基于阶段3发展而来 根据 MVC 逻辑模块分离 Render : 渲染逻辑 ModelControl: 数据与控制逻辑
56.
单元测试框架 Build 构建工具 文档生成工具
57.
Behavior-driven development framework describe("Jasmine", function() { it("makes testing JavaScript awesome!", function() { expect(yourCode).toBeLotsBetter(); }); });
60.
Sphinx : 半自动化文档工具 Cheers for a great tool that actually makes programmers want to write documentation!
62.
基于kissy独
立开源项目 Components 电子商务组件 库 Kissy 核心
64.
Kissyteam.github.com
65.
Gtalk/email:yiminghe@gmail.com Blog: http://yiminghe.javaeye.com
Download