2011彩票首页开发实践

53
栋寒 2011淘宝彩票首页开发实践 栋寒 www.cnblogs.com/zhenn 2011-5-10

Upload: jay-li

Post on 28-Jan-2015

9.942 views

Category:

Technology


5 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 2011彩票首页开发实践

栋寒

2011淘宝彩票首页开发实践

栋寒 www.cnblogs.com/zhenn2011-5-10

Page 2: 2011彩票首页开发实践

http://caipiao.taobao.com/lottery/index_v3.htm

Page 3: 2011彩票首页开发实践

合理安排内容的展现次序

模块化开发

速度、性能

延续html5革命事业

其他细节

Page 4: 2011彩票首页开发实践

合理安排内容的展现次序

模块化开发

速度、性能

延续html5革命事业

其他细节

Page 5: 2011彩票首页开发实践

栋寒float:left float:right

典型的两列结构

Page 6: 2011彩票首页开发实践

Dom解析顺序

自上而下

Page 7: 2011彩票首页开发实践

在一段时间内用户所看到的页面

等待渲染…

Page 8: 2011彩票首页开发实践
Page 9: 2011彩票首页开发实践

无法改变用户的带宽环境

What we can do?

Page 10: 2011彩票首页开发实践

优化策略:

• 破坏规整的dom结构• 使用定位来实现UI设计• 优化显示次序

Page 11: 2011彩票首页开发实践

损坏的html:焦点图右侧

彩种导航

焦点图

数字彩快速投注开奖公告

(左上)广告

排行榜工具列表

(左下)广告彩票攻略

足篮彩快速投注推荐合买

彩票资讯

Page 12: 2011彩票首页开发实践

132

1024*768浏览器首屏参考线

4

1440*900浏览器首屏参考线

5

7

8

9

6

Page 13: 2011彩票首页开发实践

至上而下的逐次展现方式

假装很快

So:

Page 14: 2011彩票首页开发实践

合理安排内容的展现次序

模块化开发

速度、性能

延续html5革命事业

其他细节

Page 15: 2011彩票首页开发实践

功能颗粒化

Page 16: 2011彩票首页开发实践

Why do like this

Page 17: 2011彩票首页开发实践

• 更加适合团队开发

• 易维护性

• 便于做按需加载

Page 18: 2011彩票首页开发实践

e.g.

点击触发异步请求

Async()

载入html文档

加载js逻辑文件

Page 19: 2011彩票首页开发实践

插入html代码

加载js模块并执行回调

Full code

Page 20: 2011彩票首页开发实践

弊端:太多的http请求?

Page 21: 2011彩票首页开发实践

Combo利器

Page 22: 2011彩票首页开发实践

基于yui3的实现

Page 23: 2011彩票首页开发实践

合并use进一步减少请求数

Page 24: 2011彩票首页开发实践

合理内容的展现次序

模块化开发

速度、性能

延续html5革命事业

其他细节

Page 25: 2011彩票首页开发实践

Fast by default

Page 26: 2011彩票首页开发实践
Page 27: 2011彩票首页开发实践

用户最关注的速度

• 资源文件加载所耗时间

• 浏览器渲染时间

Page 28: 2011彩票首页开发实践

• 资源文件加载所耗时间• 浏览器渲染时间

Page 29: 2011彩票首页开发实践

• 通过combo合并js、css请求

• 延时加载图片、非展示不加载

• 地球人都知道的css sprite技术

减少http请求数

Page 30: 2011彩票首页开发实践

延时加载图片

延时加载的图片对象

Page 31: 2011彩票首页开发实践

• 减小html文档的大小

• 异步加载js模块

• minify css、js

• 保证质量前提下,压缩图片

• Gzip(deflate),服务器配置

压缩http请求收发数据量

Page 32: 2011彩票首页开发实践

• 资源文件加载所耗时间

• 浏览器渲染时间

Page 33: 2011彩票首页开发实践

• 避免冗余的html标签

• 适时做延时渲染和异步加载

• 让用户的浏览器视口决定页面

首次加载时的dom节点数

精简dom节点数

Page 34: 2011彩票首页开发实践

异步加载 VS 延时渲染

前后端交互:缓解前端渲染压力并分隔后端的处理时间,缺点在于前端发生交互事件时,等待时间稍长

纯前端交互:交互效率较高,等待时间短,缺点在于页面首次加载时,要把后端查询的数据全部push到前端,增加服务器负担

Page 35: 2011彩票首页开发实践

• 数据访问

• 算法和流程控制

• dom操作

• ......

Js执行效率

Page 36: 2011彩票首页开发实践

了解更多请参考此书

Page 37: 2011彩票首页开发实践

Ref:http://ishare.iask.sina.com.cn/f/8344965.html

电子版下载

Page 38: 2011彩票首页开发实践

较之老版首页

• 扔掉cubee(yui3.0.0的遗留物)

• 应用yui3.3.0,减小对domready的依赖

• 合理的注册事件Avialable而非

DomReady,更及时的展现页面交互

Page 39: 2011彩票首页开发实践
Page 40: 2011彩票首页开发实践

yslow

Page 41: 2011彩票首页开发实践

Pagespeed

Page 42: 2011彩票首页开发实践

我们不过分依赖于yslow、pagespeed

Page 43: 2011彩票首页开发实践

我们更愿意相信

真实的数据

Page 44: 2011彩票首页开发实践

哈勃数据监控

老版

新版

Page 45: 2011彩票首页开发实践

合理内容的展现次序

模块化开发

速度、性能

延续html5革命事业

其他细节

Page 46: 2011彩票首页开发实践

IE8及其以下版本hack

Page 47: 2011彩票首页开发实践

禁用脚本?

Page 48: 2011彩票首页开发实践

禁用脚本?

适度引导用户

Page 49: 2011彩票首页开发实践

合理内容的展现次序

模块化开发

速度、性能

延续html5革命事业

其他细节

Page 50: 2011彩票首页开发实践

旺旺web api(仅支持IE内核,利用ActiveXObject插件)

Just click

Page 51: 2011彩票首页开发实践

文件地址:http://a.tbcdn.cn/apps/lottery/indexv3/js/webtribe.js

Page 52: 2011彩票首页开发实践

清理隐藏的定时器

减轻浏览器压力

Page 53: 2011彩票首页开发实践