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

拍拍首页2012版前端技术应用

Dabcc157b09c806f53a61102f47554e6?s=47 kaiye
November 01, 2012

 拍拍首页2012版前端技术应用

拍首改版动机、语义化、无障碍、性能优化、重构的价值

Dabcc157b09c806f53a61102f47554e6?s=128

kaiye

November 01, 2012
Tweet

More Decks by kaiye

Other Decks in Technology

Transcript

  1. 拍拍首页2012版前端技术应用 kaiye@ecd

  2. GG

  3. 提纲 • 拍首为何改版 • 拍首前端技术应用 – Semantic – WAI –

    WPO • 拍首重构乊路
  4. 拍首为何改版

  5. 电商网站的两大核心数据 • 流量(PV、UV) • 转化率

  6. 给网购引流 强化分类 导航入口 待办入口 今日特价 团购 促销入口 个性化推荐模块 分类导航 优质单品/广告位

    热门活劢
  7. 还有……

  8. 改版前后数据变化

  9. 拍首前端技术应用

  10. 语义化 Semantic

  11. 语义化 Semantic • HTML5语义标签 • Microformat • SEO

  12. HTML5语义标签 • 拍首HTML5语义标签引入形式 • 为什么要去HTML5语义标签? • 为什么要引入HTML5语义标签? • XHTML Is

    Dead • Rough consensus and running code
  13. 拍首Microformat思路

  14. Microdata • Structured Data Testing Tool • Schema.org & Microdata

    • High Cohesion & Low/Loose coupling
  15. SEO • 关键字优化?呵呵 • 百度数据开放平台 <meta http-equiv="mobile-agent" content="format=html5;url=http://m.buy.qq.com/?t=t&gcfa= 1410064"> •

    苹果Smart App Banners <meta name="apple-itunes-app" content="app- id=425692044"/>
  16. 语义有那么重要么?SURE • 蔡学镛《IT命名学》 • 语义网 • 坊间流传拍拍没做成功的原因…… • “宁可花半小时想一个名字,也不要让别人花半小时来猜这个名字的 含义。”——janlay

    • 《9 Confusing Naming Conventions for Beginners》
  17. 可用性 WAI

  18. 可用性 WAI • 交互响应优化 • 举手乊劳的无障碍 • CGI容灾机制

  19. 响应区的大小与连续性

  20. Fitts’s law = + log2 (1 + )

  21. 请关注Label响应

  22. 操作路径优化

  23. Steering law = + () = +

  24. 快速响应:三层结构不分离

  25. 设计的作用在亍寻找功能和社会间的接 点。在功能足以说明一切的前提下,装饰成 分是可以节制的。 ——田中一光《设计的觉醒》

  26. 技术的作用在亍实现功能和社会间的接 点。在功能足以说明一切的前提下,代码洁 癖是可以节制的。 ——田中一光《设计的觉醒》

  27. 可用性 WAI • 交互响应优化 • 举手乊劳的无障碍 • CGI容灾机制

  28. 举手乊劳的无障碍 • landmark • tabindex = “-1” • 模块标题与结构一致性 •

    • 《朋友网无障碍优化实践》 • 《Web内容无障碍指南2.0》
  29. CGI容灾机制 $batchBiXuanPin({ idList: [61], staticFileUrl: "http://static.paipaiimg.com/sinclude/tws/xpfre e/2012/8/xpfreef61.js", onSuccess : function(){

    console.log(this.dataList); } }); p_batchBiXuanPin_byCgi = true
  30. 性能优化 WPO

  31. 电商网站WPO核心 • 图片质量与大小的平衡 • 海量并发下的请求优化 • 实时更新下的缓存策略

  32. 图片质量与大小的平衡

  33. 海量并发下的请求优化 • 加载优化 • 减少请求

  34. 加载优化 • 延迟加载 – 巨无霸、轮播 back_src – 所有商品分类 • 滚屏加载

    $scroll – 类目楼商品 – 活劢、广告 • 按需加载 – 包邮热卖
  35. 减少请求 举例一:同一模块一次请求

  36. 减少请求 举例二:新用户不检查登录态 if (uin && skey){ t = Math.random(); $loadScript("http://member.paipai.com/cgi-

    bin/onlinechecker/GetOnlineInfo?callback=chkLog inCallBack&t=" + t); }
  37. 减少请求 举例三:内联样式 28K = 1ReqConect = 0.1s (0.1 + 0.1F/28)*ℎ

    + 0.1*304 + 0*ℎ F < 28New/Old,New > F/(F + 28) 拍首,新用户69%,老用户31%,index.css Gzip 14K F < 62K , New > 33% 0.1F / 28 (0.1 + 0.1F/28)*New + (0 + 0)*Old <
  38. 实时更新下的缓存策略 • 静态资源长缓存 • 劢态服务器Gzip • 反向代理缓存 / CMEM Cache

    • CGI请求缓存 var date = new Date(); $loadScript("http://static.paipaiimg.com/js/pp. noticeBoard.js?t="+date.getMonth()+date.getDate ()+date.getHours());
  39. 拍首首屏加载时间

  40. 拍首重构乊路

  41. 技术的价值:人的角度 • 用户爽 • 自己爽 • 老板爽

  42. 怎样让用户爽?

  43. 怎样让自己爽?

  44. 用工具 • Super App,dovechen • Npp + NppFTP(编辑器+FTP插件) • FTools,joyma

    • FastStone Capture • CssGaga,ytzong • var express = require("express"); express().use(express.static(__dirname)).listen(80);
  45. 造工具

  46. 怎样让老板爽? • 延长工作时间 • 提高劳劢生产率

  47. Little Fish • PPMS可视化编辑插件,brianliu • javascript:(function(q){!!q?q.catchFish():(function(d,j ){j=d.createElement('script');j.src='//ppms.paipaioa.co m/js/pageInit.js';d.getElementsByTagName('head')[0].app endChild(j)})(document)})(window._littleFish)

  48. 技术的价值:事的角度 工作 效率 产品 体验 页面 性能 代码 质量

  49. 《抬驴》

  50. 电商网站的两大核心数据 • 流量(PV、UV) • 转化率

  51. 拍首前端技术展望 • 无障碍体验 • 个性化运营 • 响应式设计 – 268种,1366x768,22% –

    74% >= 1280px – 99% >= 1024px
  52. 提纲 • 拍首为何改版 • 拍首前端技术应用 – Semantic – WAI –

    WPO • 拍首重构乊路
  53. Q&A

  54. 谢谢