移动的前端技术架构和性能优化
Transcript of 移动的前端技术架构和性能优化
移动的前端技术架构&
性能优化杨东星
11年9月13日星期二
这里我们不说代码谈思想
• http://m.1688.com
•触屏版 android ios
•简单版 ucweb
• 2010国内30亿 国外b2b 国际站 中国制造 。。。
11年9月13日星期二
m.1688.com• 3期
• 9∙1第三期上线
•地图
•周边搜索
11年9月13日星期二
涉及到的技术
• HTML5
• CSS3
• MooTools
11年9月13日星期二
优化思想规划
•让网站变得更快(html5 vs mo bi le)
•让编码变得舒服(技术选择,整体规划)
11年9月13日星期二
MooTools
•从编程思想的角度和处理复杂逻辑的能力上,MT优于现在所有的主流框架。
•最重要的是:可以让写代码变成⼀一件简单并且开心的事情
11年9月13日星期二
MooTools选择包含• QueryElement∙slick
• class方式 数据类型
• Element Event TouchEvent
• Cookie
• Request jsonp
• 20k
11年9月13日星期二
VM和页面的结构
•头部
•中间展示区
•尾部
2个头
2个尾
••• •••
11年9月13日星期二
全局NS曝光
• MLoad
• serverData.MTPlusVersion
• Widget
• nPage
11年9月13日星期二
Mload
•并行载入js
•控制本地存储功能+版本控制
•控制页面层级js的下载和渲染
11年9月13日星期二
缓存脚本文件
• LocalStorage js脚本
• Localstorage string
• Ajax write read version
11年9月13日星期二
serverData
•服务器端模块化接口 serverData.xx
• MTPlusVersion 版本控制
11年9月13日星期二
Widget
•所有的自定义的功能类都会放在这个namespace下
•页面的直接功能类 控件级别的类 自定义基类 等等 的容器
11年9月13日星期二
nPage
•本页面的话实例化调用接口
• window.addEvent('domready',nPage);
•本页面调用结构的整理
•特有的简单方法的调用
11年9月13日星期二
Lazyload
• Js文件的延时 并行下载和渲染
•多图页面的图片滚动高度延时下载
11年9月13日星期二
淘宝首页
• 5个请求/
• 31
11年9月13日星期二
淘宝首页 after 缓存• First all 311k
• First dom 96k
• Second dom 11.49k
• Next dom 96k
• Next all 311k
11年9月13日星期二
Alibaba首页
• 15个请求/
• 19
11年9月13日星期二
Alibaba首页 after 缓存• First all 79k
• First dom 39k
• Second dom 6k
• Next dom 39k
• Next all 79k
11年9月13日星期二
1688首页
• 4个请求/
• 11
11年9月13日星期二
1688首页 after 缓存• First all 136k
• First dom 12k
• Second dom 5.69k
• Next dom 12k
• Next all 88k
11年9月13日星期二
0
100
200
300
400
淘宝 alibaba 1688
11年9月13日星期二
After 2还有什么可以提高
速度?
11年9月13日星期二
浏览器加载页面所用的时间
11年9月13日星期二
Quick link架构
•现在依靠之前VM的整理
• a标签+ajax
• Old nPage = null
• New nPage evaluate
Head
Foot
New HTML
11年9月13日星期二
还有哪些可用的?
• database:sqlite关系型数据库
• creat table insert select update delete
•数据的分布式计算。。。。
•把全世界的电脑都作为我们的分布式站点
11年9月13日星期二
或者还有更多...canvas webworker websocket ...
11年9月13日星期二
ok,let's talk free.
11年9月13日星期二