Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[WebRebuild 2013] 移动终端重构Workflow

hzlzh
November 02, 2013

[WebRebuild 2013] 移动终端重构Workflow

WebRebuild 2013 介绍:
http://webrebuild.org/2013/gz/guest.html
现场录像视频在线播放:
http://www.56.com/u90/v_MTAwMTAyMTkx.html
完整版 Keynote 下载地址:
http://vdisk.weibo.com/s/z9dGioP9NHK7H

hzlzh

November 02, 2013
Tweet

More Decks by hzlzh

Other Decks in Technology

Transcript

  1. ⾃自我介绍 !2 ⻩黄⾃自⼒力 @hzlzh http://hzlzh.io/ (Zed Huang) • 前端开发组(TmT) •

    腾讯微购物、电商微信O2O线等 • 腾讯 ecd - 移动终端设计中⼼心
  2. !4 移动端的福利 • ⽀支持度⾼高 • 紧跟潮流 • No IE 全⾯面拥抱

    HTML 5 + CSS 3 ⽆无需在意各种 IE hack 做快乐的开发者 • ⼀一致性好
  3. !4 移动端的福利 • ⽀支持度⾼高 • 紧跟潮流 • No IE 全⾯面拥抱

    HTML 5 + CSS 3 新的特性和技术会迅速在浏览器更新,玩法多样 ⽆无需在意各种 IE hack 做快乐的开发者 • ⼀一致性好
  4. !4 移动端的福利 • ⽀支持度⾼高 • 紧跟潮流 • No IE 全⾯面拥抱

    HTML 5 + CSS 3 新的特性和技术会迅速在浏览器更新,玩法多样 ⽆无需在意各种 IE hack 做快乐的开发者 • ⼀一致性好 HTML5 ⻚页⾯面 | App(如: 微信) 内浏览器调⽤用 App 内 hybrid ⻚页⾯面 | Web App
  5. !5 移动终端重构挑战 • 设备多 • 屏幕⼩小 4 -> 4s ->

    5 -> 5s | Google Glass | iWatch 640x960 | 480x800 总有兼容不完的新设备冒出来
  6. !6 移动终端重构挑战 • 设备多 • 屏幕⼩小 4 -> 4s ->

    5 -> 5s | Google Glass | iWatch 640x960 | 480x800 总有兼容不完的新设备冒出来
  7. !6 移动终端重构挑战 • 流量贵 • 设备多 • 屏幕⼩小 4 ->

    4s -> 5 -> 5s | Google Glass | iWatch 640x960 | 480x800 总有兼容不完的新设备冒出来
  8. !6 移动终端重构挑战 • 流量贵 • ⺴⽹网速慢 • 设备多 • 屏幕⼩小

    4 -> 4s -> 5 -> 5s | Google Glass | iWatch 640x960 | 480x800 总有兼容不完的新设备冒出来
  9. !6 移动终端重构挑战 • 流量贵 • ⺴⽹网速慢 • 设备多 • 屏幕⼩小

    4 -> 4s -> 5 -> 5s | Google Glass | iWatch 640x960 | 480x800 总有兼容不完的新设备冒出来
  10. !6 移动终端重构挑战 • 流量贵 • ⺴⽹网速慢 • 设备多 • 屏幕⼩小

    4 -> 4s -> 5 -> 5s | Google Glass | iWatch 640x960 | 480x800 总有兼容不完的新设备冒出来
  11. !6 移动终端重构挑战 • 流量贵 • ⺴⽹网速慢 • 设备多 • 屏幕⼩小

    0.01元/KB 〜~ 0.03元/KB 4 -> 4s -> 5 -> 5s | Google Glass | iWatch 640x960 | 480x800 总有兼容不完的新设备冒出来
  12. !6 移动终端重构挑战 • 流量贵 • ⺴⽹网速慢 • 设备多 • 屏幕⼩小

    0.01元/KB 〜~ 0.03元/KB 10 kb/s ~ 40 kb/s [2G⺴⽹网速] 4 -> 4s -> 5 -> 5s | Google Glass | iWatch 640x960 | 480x800 总有兼容不完的新设备冒出来
  13. !7 移动终端重构的挑战 • 流量贵 • ⺴⽹网速慢 • 设备多 • 屏幕⼩小

    0.01元/KB 〜~ 0.03元/KB 10 kb/s ~ 40 kb/s 4 -> 4s -> 5 -> 5s | Google Glass | iWatch 640x960 | 480x800 总有兼容不完的新设备冒出来
  14. !7 移动终端重构的挑战 • 流量贵 • ⺴⽹网速慢 • 设备多 • 更新快

    • 屏幕⼩小 0.01元/KB 〜~ 0.03元/KB 10 kb/s ~ 40 kb/s 4 -> 4s -> 5 -> 5s | Google Glass | iWatch 640x960 | 480x800 总有兼容不完的新设备冒出来
  15. !7 移动终端重构的挑战 • 性能变 • 流量贵 • ⺴⽹网速慢 • 设备多

    • 更新快 • 屏幕⼩小 0.01元/KB 〜~ 0.03元/KB 10 kb/s ~ 40 kb/s 4 -> 4s -> 5 -> 5s | Google Glass | iWatch 640x960 | 480x800 总有兼容不完的新设备冒出来
  16. !7 移动终端重构的挑战 • 性能变 • 流量贵 • ⺴⽹网速慢 • 设备多

    • 更新快 • 屏幕⼩小 0.01元/KB 〜~ 0.03元/KB 10 kb/s ~ 40 kb/s 4 -> 4s -> 5 -> 5s | Google Glass | iWatch 640x960 | 480x800 总有兼容不完的新设备冒出来
  17. !7 移动终端重构的挑战 • 性能变 • 流量贵 • ⺴⽹网速慢 • 设备多

    • 更新快 • 屏幕⼩小 0.01元/KB 〜~ 0.03元/KB 10 kb/s ~ 40 kb/s 4 -> 4s -> 5 -> 5s | Google Glass | iWatch 640x960 | 480x800 总有兼容不完的新设备冒出来
  18. !7 移动终端重构的挑战 • 性能变 • 流量贵 • ⺴⽹网速慢 • 设备多

    • 更新快 • 屏幕⼩小 0.01元/KB 〜~ 0.03元/KB 10 kb/s ~ 40 kb/s 4 -> 4s -> 5 -> 5s | Google Glass | iWatch iOS 7 & Android 4.4 | Hybrid 内⻚页 & 微信内⻚页 640x960 | 480x800 总有兼容不完的新设备冒出来
  19. !7 移动终端重构的挑战 • 性能变 • 流量贵 • ⺴⽹网速慢 • 设备多

    • 更新快 • 屏幕⼩小 0.01元/KB 〜~ 0.03元/KB 10 kb/s ~ 40 kb/s 4 -> 4s -> 5 -> 5s | Google Glass | iWatch iOS 7 & Android 4.4 | Hybrid 内⻚页 & 微信内⻚页 640x960 | 480x800 设备性能跑分、GPU、CPU 总有兼容不完的新设备冒出来
  20. !8 解决关键点 • 性能变 • 流量贵 • 设备多 • ⺴⽹网速慢

    • 更新快 • 屏幕⼩小 Viewport 缩放 | Retina 2x
  21. !8 解决关键点 • 性能变 • 流量贵 • 设备多 • ⺴⽹网速慢

    • 更新快 图⽚片压缩 | Gzip | 请求合并 | CDN • 屏幕⼩小 Viewport 缩放 | Retina 2x
  22. !8 解决关键点 • 性能变 • 流量贵 • 设备多 • ⺴⽹网速慢

    • 更新快 LazyLoad 按需加载、延时加载 图⽚片压缩 | Gzip | 请求合并 | CDN • 屏幕⼩小 Viewport 缩放 | Retina 2x
  23. !8 解决关键点 • 性能变 • 流量贵 • 设备多 • ⺴⽹网速慢

    • 更新快 LazyLoad 按需加载、延时加载 Responsive Web Design (Location Response) 图⽚片压缩 | Gzip | 请求合并 | CDN • 屏幕⼩小 Viewport 缩放 | Retina 2x
  24. !8 解决关键点 • 性能变 • 流量贵 • 设备多 • ⺴⽹网速慢

    • 更新快 LazyLoad 按需加载、延时加载 Responsive Web Design (Location Response) 图⽚片压缩 | Gzip | 请求合并 | CDN 新特性、新技术的使⽤用 • 屏幕⼩小 Viewport 缩放 | Retina 2x
  25. !8 解决关键点 • 性能变 • 流量贵 • 设备多 • ⺴⽹网速慢

    • 更新快 LazyLoad 按需加载、延时加载 Responsive Web Design (Location Response) 图⽚片压缩 | Gzip | 请求合并 | CDN 新特性、新技术的使⽤用 • 屏幕⼩小 Viewport 缩放 | Retina 2x 适当的效果做减法
  26. !9 团队项⺫⽬目特点 • 下游不同 • 迭代快 • 移动化 • 产品线多

    接⼝口多个不同的下游开发团队 95%的移动终端项⺫⽬目(HTML5⻚页、App内⻚页、Hybird) 同时多个产品线项⺫⽬目并发进⾏行 以TmT团队为例
  27. !9 团队项⺫⽬目特点 • 下游不同 • 迭代快 • 移动化 • 产品线多

    接⼝口多个不同的下游开发团队 产品开发周期短、快速响应 95%的移动终端项⺫⽬目(HTML5⻚页、App内⻚页、Hybird) 同时多个产品线项⺫⽬目并发进⾏行 以TmT团队为例
  28. !9 团队项⺫⽬目特点 • 下游不同 • 迭代快 • 移动化 • 跨平台

    • 产品线多 接⼝口多个不同的下游开发团队 产品开发周期短、快速响应 95%的移动终端项⺫⽬目(HTML5⻚页、App内⻚页、Hybird) 同时多个产品线项⺫⽬目并发进⾏行 以TmT团队为例
  29. !9 团队项⺫⽬目特点 • 下游不同 • 迭代快 • 移动化 • 跨平台

    • 产品线多 接⼝口多个不同的下游开发团队 产品开发周期短、快速响应 95%的移动终端项⺫⽬目(HTML5⻚页、App内⻚页、Hybird) 组员可随时穿插与各个项⺫⽬目之间,跨平台 Windows & Mac 同时多个产品线项⺫⽬目并发进⾏行 以TmT团队为例
  30. !9 • 性能变 • 流量贵 • 设备多 • ⺴⽹网速慢 •

    更新快 • 屏幕⼩小 团队项⺫⽬目特点 • 下游不同 • 迭代快 • 移动化 • 跨平台 • 产品线多 接⼝口多个不同的下游开发团队 产品开发周期短、快速响应 95%的移动终端项⺫⽬目(HTML5⻚页、App内⻚页、Hybird) 组员可随时穿插与各个项⺫⽬目之间,跨平台 Windows & Mac 同时多个产品线项⺫⽬目并发进⾏行 以TmT团队为例
  31. !9 团队项⺫⽬目特点 • 下游不同 • 迭代快 • 移动化 • 跨平台

    • 产品线多 接⼝口多个不同的下游开发团队 产品开发周期短、快速响应 95%的移动终端项⺫⽬目(HTML5⻚页、App内⻚页、Hybird) 组员可随时穿插与各个项⺫⽬目之间,跨平台 Windows & Mac 同时多个产品线项⺫⽬目并发进⾏行 以TmT团队为例
  32. !9 团队项⺫⽬目特点 • 下游不同 • 迭代快 • 移动化 • 跨平台

    • 产品线多 接⼝口多个不同的下游开发团队 产品开发周期短、快速响应 95%的移动终端项⺫⽬目(HTML5⻚页、App内⻚页、Hybird) 组员可随时穿插与各个项⺫⽬目之间,跨平台 Windows & Mac 同时多个产品线项⺫⽬目并发进⾏行 以TmT团队为例
  33. • 它是⼀一套解决⽅方案? 什么是TmT Workflow ? !11 懒 • 它是⼀一批⼯工具? •

    还是⼀一个模版? • 它是⼀一种思路! • 它是⼀一组流程?
  34. • 它是⼀一套解决⽅方案? 什么是TmT Workflow ? !11 Workflow • 它是⼀一批⼯工具? •

    还是⼀一个模版? • 它是⼀一种思路! • 它是⼀一组流程?
  35. 先要搞定什么? !12 圣战 ⼀一场永⽆无⽌止境的战⽃斗 • Emac vs Vim vs Sublime

    vs IDEA 等等 • Win vs Mac 注:⾼高亮⾊色为TmT⺫⽬目前选择⽅方案
  36. 先要搞定什么? !12 圣战 ⼀一场永⽆无⽌止境的战⽃斗 • Space vs Tab • Emac

    vs Vim vs Sublime vs IDEA 等等 • Win vs Mac 注:⾼高亮⾊色为TmT⺫⽬目前选择⽅方案
  37. 先要搞定什么? !12 圣战 ⼀一场永⽆无⽌止境的战⽃斗 • Space vs Tab • Sass

    vs Less • Emac vs Vim vs Sublime vs IDEA 等等 • Win vs Mac 注:⾼高亮⾊色为TmT⺫⽬目前选择⽅方案
  38. 先要搞定什么? !12 圣战 ⼀一场永⽆无⽌止境的战⽃斗 • Space vs Tab • Sass

    vs Less • Emac vs Vim vs Sublime vs IDEA 等等 • BEM vs 嵌套 • Win vs Mac 注:⾼高亮⾊色为TmT⺫⽬目前选择⽅方案
  39. 0. 项⺫⽬目初始化 3. Less,Grunt 4. 调试&联调 2. HTML 编码 5.

    发布&部署 1. 视觉稿切⽚片 TmT Workflow ⼤大纲 !13
  40. 0. 项⺫⽬目初始化 3. Less,Grunt 4. 调试&联调 2. HTML 编码 5.

    发布&部署 1. 视觉稿切⽚片 TmT Workflow ⼤大纲 !13 ⽣生成⽂文件⺫⽬目录结构
  41. 0. 项⺫⽬目初始化 3. Less,Grunt 4. 调试&联调 2. HTML 编码 5.

    发布&部署 1. 视觉稿切⽚片 TmT Workflow ⼤大纲 !13 1x切图 | 2x切图 | 图⽚片压缩 | 拼合雪碧图 ⽣生成⽂文件⺫⽬目录结构
  42. 0. 项⺫⽬目初始化 3. Less,Grunt 4. 调试&联调 2. HTML 编码 5.

    发布&部署 1. 视觉稿切⽚片 TmT Workflow ⼤大纲 !13 1x切图 | 2x切图 | 图⽚片压缩 | 拼合雪碧图 类命名 | HTML层级 ⽣生成⽂文件⺫⽬目录结构
  43. 0. 项⺫⽬目初始化 3. Less,Grunt 4. 调试&联调 2. HTML 编码 5.

    发布&部署 1. 视觉稿切⽚片 TmT Workflow ⼤大纲 !13 1x切图 | 2x切图 | 图⽚片压缩 | 拼合雪碧图 类命名 | HTML层级 编译 | ⾃自动合并雪碧图 | 加时间戳 ⽣生成⽂文件⺫⽬目录结构
  44. 0. 项⺫⽬目初始化 3. Less,Grunt 4. 调试&联调 2. HTML 编码 5.

    发布&部署 1. 视觉稿切⽚片 TmT Workflow ⼤大纲 !13 1x切图 | 2x切图 | 图⽚片压缩 | 拼合雪碧图 类命名 | HTML层级 编译 | ⾃自动合并雪碧图 | 加时间戳 移动端的调试思路 ⽣生成⽂文件⺫⽬目录结构
  45. 0. 项⺫⽬目初始化 3. Less,Grunt 4. 调试&联调 2. HTML 编码 5.

    发布&部署 1. 视觉稿切⽚片 TmT Workflow ⼤大纲 !13 1x切图 | 2x切图 | 图⽚片压缩 | 拼合雪碧图 类命名 | HTML层级 编译 | ⾃自动合并雪碧图 | 加时间戳 移动端的调试思路 ⾃自动化的发布流程 ⽣生成⽂文件⺫⽬目录结构
  46. !23 1.视觉稿切⽚片 • 同时切出 1x 和 2x • 奇数变偶数 •

    最好只点击⼏几下,或者干脆不⽤用点 结合移动端的切图特点 期望值:
  47. !23 1.视觉稿切⽚片 • 同时切出 1x 和 2x • 奇数变偶数 •

    最好只点击⼏几下,或者干脆不⽤用点 结合移动端的切图特点 期望值: 如:2x 原图 41x45 -> 42x46 -> 21x23 1x ⺫⽬目标图
  48. !23 1.视觉稿切⽚片 • 同时切出 1x 和 2x • 奇数变偶数 •

    最好只点击⼏几下,或者干脆不⽤用点 结合移动端的切图特点 期望值: • 切图成品不⽤用再次重命名 如:2x 原图 41x45 -> 42x46 -> 21x23 1x ⺫⽬目标图
  49. !23 1.视觉稿切⽚片 • 由设计师来切图。 • 同时切出 1x 和 2x •

    奇数变偶数 • 最好只点击⼏几下,或者干脆不⽤用点 结合移动端的切图特点 期望值: • 切图成品不⽤用再次重命名 如:2x 原图 41x45 -> 42x46 -> 21x23 1x ⺫⽬目标图
  50. !23 1.视觉稿切⽚片 • 由设计师来切图。 • 同时切出 1x 和 2x •

    奇数变偶数 • 最好只点击⼏几下,或者干脆不⽤用点 结合移动端的切图特点 不要推托〜~亲 期望值: • 切图成品不⽤用再次重命名 如:2x 原图 41x45 -> 42x46 -> 21x23 1x ⺫⽬目标图
  51. 2. HTML 编码 • (2) 优化标签嵌套 • (1) 检查标签闭合 如何快速搞定

    HTML 结构 问:写HTML时,以下选项中最痛苦的是什么? !27
  52. 2. HTML 编码 • (2) 优化标签嵌套 • (3) 给 Class

    命名 • (1) 检查标签闭合 如何快速搞定 HTML 结构 问:写HTML时,以下选项中最痛苦的是什么? !27
  53. 2. HTML 编码 • (3) 给 Class 命名 如何快速搞定 HTML

    结构 问:写HTML时,以下选项中最痛苦的是什么? !27
  54. 2. HTML 编码 • (3) 给 Class 命名 如何快速搞定 HTML

    结构 问:写HTML时,以下选项中最痛苦的是什么? 如果说,写HTML就像去旅游, 那么最痛苦的便是给沿途的每⼀一座⼭山、每⼀一条河、每⼀一棵草都起⼀一个响亮的名字! !27
  55. 2. HTML 编码 • (3) 给 Class 命名 如何快速搞定 HTML

    结构 问:写HTML时,以下选项中最痛苦的是什么? 如果说,写HTML就像去旅游, 那么最痛苦的便是给沿途的每⼀一座⼭山、每⼀一条河、每⼀一棵草都起⼀一个响亮的名字! 别忘了我们是组团去旅游! !27
  56. • Blocks (块) 设计或者布局的⼀一部分 语义或者视觉上独⽴立 • Elements (元素) 块的⼦子元素 •

    Modifier (修饰符) ⼤大⼩小 ⻓长短 状态 BEM !29 2. HTML 编码 什么是BEM?
  57. 2. HTML 编码 BEM for TmT 规范细则 !31 • 1.

    使⽤用 Block__Element_Modifier 的结构
  58. 2. HTML 编码 BEM for TmT 规范细则 !31 • 2.

    Class 名仅含1层,⽆无嵌套 • 1. 使⽤用 Block__Element_Modifier 的结构
  59. 2. HTML 编码 BEM for TmT 规范细则 !31 • 3.

    伪类/伪对象或控制⼦子元素状态可2层嵌套 • 2. Class 名仅含1层,⽆无嵌套 • 1. 使⽤用 Block__Element_Modifier 的结构
  60. 2. HTML 编码 BEM for TmT 规范细则 !31 • 3.

    伪类/伪对象或控制⼦子元素状态可2层嵌套 • 2. Class 名仅含1层,⽆无嵌套 • 5. 中横线连接名称单词 • 1. 使⽤用 Block__Element_Modifier 的结构
  61. 2. HTML 编码 BEM for TmT 规范细则 !31 • 3.

    伪类/伪对象或控制⼦子元素状态可2层嵌套 • 2. Class 名仅含1层,⽆无嵌套 • 5. 中横线连接名称单词 • 1. 使⽤用 Block__Element_Modifier 的结构 • 6. 双下划线连接⼦子元素
  62. 2. HTML 编码 BEM for TmT 规范细则 !31 • 3.

    伪类/伪对象或控制⼦子元素状态可2层嵌套 • 2. Class 名仅含1层,⽆无嵌套 • 5. 中横线连接名称单词 • 1. 使⽤用 Block__Element_Modifier 的结构 • 6. 双下划线连接⼦子元素 • 7. 单下划线连接元素和其状态或修饰符
  63. !34 2. HTML 编码 移动端的HTML特性 为什么选择 BEM: • 低耦合、甚⾄至⽆无耦合 •

    团队统⼀一性、规范性 统⼀一的Class命名⻛风格和嵌套层级
  64. !34 2. HTML 编码 移动端的HTML特性 为什么选择 BEM: • 低耦合、甚⾄至⽆无耦合 •

    团队统⼀一性、规范性 统⼀一的Class命名⻛风格和嵌套层级 跨项⺫⽬目的复⽤用,如A项⺫⽬目的搜索框在B项⺫⽬目调⽤用
  65. !34 2. HTML 编码 移动端的HTML特性 为什么选择 BEM: • 低耦合、甚⾄至⽆无耦合 •

    移动终端友好 • 团队统⼀一性、规范性 统⼀一的Class命名⻛风格和嵌套层级 跨项⺫⽬目的复⽤用,如A项⺫⽬目的搜索框在B项⺫⽬目调⽤用
  66. !34 2. HTML 编码 移动端的HTML特性 为什么选择 BEM: • 低耦合、甚⾄至⽆无耦合 •

    移动终端友好 • 团队统⼀一性、规范性 统⼀一的Class命名⻛风格和嵌套层级 跨项⺫⽬目的复⽤用,如A项⺫⽬目的搜索框在B项⺫⽬目调⽤用 CSS选择器⾃自右向左解析的特性
  67. !34 2. HTML 编码 移动端的HTML特性 为什么选择 BEM: • 低耦合、甚⾄至⽆无耦合 •

    移动终端友好 • 团队统⼀一性、规范性 统⼀一的Class命名⻛风格和嵌套层级 跨项⺫⽬目的复⽤用,如A项⺫⽬目的搜索框在B项⺫⽬目调⽤用 CSS选择器⾃自右向左解析的特性 • 低端设备友好
  68. !34 2. HTML 编码 移动端的HTML特性 为什么选择 BEM: • 低耦合、甚⾄至⽆无耦合 •

    移动终端友好 • 团队统⼀一性、规范性 统⼀一的Class命名⻛风格和嵌套层级 跨项⺫⽬目的复⽤用,如A项⺫⽬目的搜索框在B项⺫⽬目调⽤用 CSS选择器⾃自右向左解析的特性 • 低端设备友好 选择器单层简单,渲染快速
  69. !35 2. HTML 编码 BEM的性能:⾼高效 Use efficient CSS selectors •

    PC设备性能影响不⼤大 • 低端机器差距⾮非常明显 • 单层类名⽐比嵌套类名Reflow快 结论:
  70. !46 3. Less,Grunt 2. 合并 Sprite ⾃自动⽣生成 2x 适配 1.

    编译 Less -> CSS Grunt-Sprite by Meterscao
  71. !46 3. Less,Grunt 2. 合并 Sprite ⾃自动⽣生成 2x 适配 1.

    编译 Less -> CSS ⼆二叉树算法 | ⾃自动合并雪碧图 | 计算坐标 Grunt-Sprite by Meterscao
  72. !46 3. Less,Grunt 2. 合并 Sprite ⾃自动⽣生成 2x 适配 1.

    编译 Less -> CSS ⼆二叉树算法 | ⾃自动合并雪碧图 | 计算坐标 Grunt-Sprite by Meterscao
  73. !46 3. Less,Grunt 2. 合并 Sprite ⾃自动⽣生成 2x 适配 1.

    编译 Less -> CSS ⼆二叉树算法 | ⾃自动合并雪碧图 | 计算坐标 Grunt-Sprite by Meterscao
  74. !47 3. Less,Grunt 3. 压缩 CSS 4. 压缩 图⽚片 YUI

    Compressor PNG 8 Alpha Grunt Workflow v1.2
  75. !47 3. Less,Grunt 3. 压缩 CSS 4. 压缩 图⽚片 5.

    监听 ⽂文件变动 YUI Compressor PNG 8 Alpha Grunt Workflow v1.2
  76. !47 3. Less,Grunt 3. 压缩 CSS 4. 压缩 图⽚片 5.

    监听 ⽂文件变动 YUI Compressor PNG 8 Alpha 可以配合事件⾃自动刷新浏览器调试 Grunt Workflow v1.2
  77. !53 4. 调试&联调 根据项⺫⽬目的特点选择调试⽅方式 • 远程调试 Safari/Chrome USB 联调 |

    Weinre 远程⻚页⾯面元素查看 • 本地调试 Chrome/Firefox 插件 | 强制浏览器设备宽度
  78. !53 4. 调试&联调 根据项⺫⽬目的特点选择调试⽅方式 • 远程调试 • 环境仿真 Safari/Chrome USB

    联调 | Weinre 远程⻚页⾯面元素查看 • 本地调试 Chrome/Firefox 插件 | 强制浏览器设备宽度
  79. !53 4. 调试&联调 根据项⺫⽬目的特点选择调试⽅方式 • 远程调试 • 环境仿真 Safari/Chrome USB

    联调 | Weinre 远程⻚页⾯面元素查看 Xcode iOS模拟器 | Android SDK 虚拟机 • 本地调试 Chrome/Firefox 插件 | 强制浏览器设备宽度
  80. !53 4. 调试&联调 根据项⺫⽬目的特点选择调试⽅方式 • 真机实测 • 远程调试 • 环境仿真

    Safari/Chrome USB 联调 | Weinre 远程⻚页⾯面元素查看 Xcode iOS模拟器 | Android SDK 虚拟机 • 本地调试 Chrome/Firefox 插件 | 强制浏览器设备宽度
  81. !53 4. 调试&联调 根据项⺫⽬目的特点选择调试⽅方式 • 真机实测 • 远程调试 • 环境仿真

    ⼆二维码扫描 | Push Link to Phone Safari/Chrome USB 联调 | Weinre 远程⻚页⾯面元素查看 Xcode iOS模拟器 | Android SDK 虚拟机 • 本地调试 Chrome/Firefox 插件 | 强制浏览器设备宽度
  82. !54 5. 发布&部署 简化流程,降低操作成本 • 执⾏行命令:grunt push 1. 将 Grunt

    Workflow 中的成品⾃自动同步到 FTP 2. 进⼀一步完成 Gamma | Beta | IDC 环境的发布
  83. !54 5. 发布&部署 简化流程,降低操作成本 • 执⾏行命令:grunt push 1. 将 Grunt

    Workflow 中的成品⾃自动同步到 FTP 2. 进⼀一步完成 Gamma | Beta | IDC 环境的发布 • 执⾏行命令:grunt zip
  84. !54 5. 发布&部署 简化流程,降低操作成本 • 执⾏行命令:grunt push 1. 将 Grunt

    Workflow 中的成品⾃自动同步到 FTP 2. 进⼀一步完成 Gamma | Beta | IDC 环境的发布 • 执⾏行命令:grunt zip 1. 将 Grunt Workflow 中的成品 zip 打包
  85. !54 5. 发布&部署 简化流程,降低操作成本 • 执⾏行命令:grunt push 1. 将 Grunt

    Workflow 中的成品⾃自动同步到 FTP 2. 进⼀一步完成 Gamma | Beta | IDC 环境的发布 • 执⾏行命令:grunt zip 1. 将 Grunt Workflow 中的成品 zip 打包 2. 进⼀一步通过部署程序发布到公⺴⽹网环境
  86. 1. 视觉稿切⽚片 ! 2. HTML 编码 ! 3. Less,Grunt !

    4. 调试&联调 ! 5. 发布&部署 !55 总结回顾 ⾼高效的,规范的,⾃自动化,流程化
  87. 1. 视觉稿切⽚片 ! 2. HTML 编码 ! 3. Less,Grunt !

    4. 调试&联调 ! 5. 发布&部署 !55 总结回顾 ⾼高效的,规范的,⾃自动化,流程化 DevRocket ⾼高效的完成:2x切⽚片、偶数化、命名
  88. 1. 视觉稿切⽚片 ! 2. HTML 编码 ! 3. Less,Grunt !

    4. 调试&联调 ! 5. 发布&部署 !55 总结回顾 ⾼高效的,规范的,⾃自动化,流程化 DevRocket ⾼高效的完成:2x切⽚片、偶数化、命名 BEM 规范化的:命名、层级
  89. 1. 视觉稿切⽚片 ! 2. HTML 编码 ! 3. Less,Grunt !

    4. 调试&联调 ! 5. 发布&部署 !55 总结回顾 ⾼高效的,规范的,⾃自动化,流程化 DevRocket ⾼高效的完成:2x切⽚片、偶数化、命名 BEM 规范化的:命名、层级 ⾃自动化:Less编译、合并雪碧图、压缩图⽚片&CSS
  90. 1. 视觉稿切⽚片 ! 2. HTML 编码 ! 3. Less,Grunt !

    4. 调试&联调 ! 5. 发布&部署 !55 总结回顾 ⾼高效的,规范的,⾃自动化,流程化 DevRocket ⾼高效的完成:2x切⽚片、偶数化、命名 BEM 规范化的:命名、层级 ⾃自动化:Less编译、合并雪碧图、压缩图⽚片&CSS 各种调试思路和逻辑
  91. 1. 视觉稿切⽚片 ! 2. HTML 编码 ! 3. Less,Grunt !

    4. 调试&联调 ! 5. 发布&部署 !55 总结回顾 ⾼高效的,规范的,⾃自动化,流程化 DevRocket ⾼高效的完成:2x切⽚片、偶数化、命名 BEM 规范化的:命名、层级 ⾃自动化:Less编译、合并雪碧图、压缩图⽚片&CSS 各种调试思路和逻辑 ⾃自动化的发布到内⺴⽹网&外⺴⽹网
  92. 注:按前⽂文出现顺序归档 注:所有解决⽅方案均⽀支持 Windows & Mac OS 平台 ! 2.DevRocket -

    ⾃自动化切图⼯工具 http://devrocket.uiparade.com/ 3.友盟指数 - 移动平台的设备概况 http://umindex.com/#ios_device 4.GeekBench 跑分数据 http://browser.primatelabs.com/ios-benchmarks 5.BEM官⺴⽹网 - 命名规范参考 http://bem.info/ 6.CSS Selectors - CSS 选择器效率测试 http://stevesouders.com/efws/css-selectors/class.php 7.Less官⺴⽹网 http://lesscss.org/ 8.Mixins.less 混⼊入Demo http://mixinsless.com/ 9.Grunt 官⺴⽹网 - 基于NodeJS的任务运⾏行器 http://gruntjs.com/ 10. Grunt插件: grunt-sprite - ⾃自动合并雪碧图 https://github.com/hellometers/grunt-sprite 11. 腾讯ecd 官⽅方博客 http://ecd.tencent.com/ 12. TmT on Github https://github.com/mobile-team 13. TmT Blog http://tmt.io! 14. @hzlzh Blog http://hzlzh.io/ !58 附录 本Keynote提及到的资源汇总