Contenu connexe
Similaire à 赵泽欣 - 淘宝网前端应用与发展
Similaire à 赵泽欣 - 淘宝网前端应用与发展 (20)
赵泽欣 - 淘宝网前端应用与发展
- 2. 关于我
{
Name: “赵泽欣”,
Nickname: “小马”,
Jobtitle: “前端架构师”
Company: “淘宝网”
City: “杭州”
Twitter: “zhaozexin”
}
- 3. 内容提要
• 淘宝前端发展史
• 每年的问题与挑战
• 实践经验与心得
• 前端发展展望
- 8. 淘宝网前端 @ 2006
前端员工人数
50
40
30
20
10
0
0
2006 2007 2008 2009 2010
- 10. 淘宝网前端 @ 2007
前端员工人数
50
40
30
20
10 5
0
0
2006 2007 2008 2009 2010
- 12. UED开发流程
Mock-up Demo
PRD Prototype
[视觉设计 [前端工程
[产品经理] [交互设计师]
师] 师]
- 16. 选择一个脚本类库
• Prototype
• jQuery
• YUI
• Dojo
• Ext
- 23. TBra
基于YUI的电子商务网站常用组件库
- 24. 与开发/测试的协作
• 共用的脚本库
• 代码约定(HTML/CSS/JavaScript命名
规范)
- 27. 与开发/测试的协作
• 问题:分不清哪些标签不要改劢,是前端
丏用的?
解决方法: @TODO 格式化
特殊的Hook 命名约定,开发人员保留拥有特殊id/class命名的标签
<div id=“fp:slide” class=“tb-slide”>……</div>
<span class=“ww:token”><a class=“ww-online”>…</a></div>
新版:
<div id=“J_Slide”>……</div>
其他CSS命名,统一使用连接符。
脚本: 代码统一写在一个闭包内。
- 30. 淘宝网前端 @ 2008
前端员工人数
50
40
30
20
14
10 5
0
0
2006 2007 2008 2009 2010
- 31. 问题与挑战 @ 2008
• 淘宝的业务拆分,应用越来越多。如何保
持页面的一致性
• 促销活劢频繁,促销页面占用大量的前端
工作量
• 用户抱怨淘宝页面慢
• 人才与成长
- 34. 关注前端性能
• CSS Sprite
• 首页 JavaScript/CSS 内嵌
• 减少HTTP请求
– 将YUI+Tbra打包成一个请求 tbra-aio.js
• 引入CDN Assets域名
– assets.taobaocdn.com
• 脚本/CSS压缩
– YUICompressor
- 37. 淘宝网前端 @ 2009
前端员工人数
50
40
30
30
20
14
10 5
0
0
2006 2007 2008 2009 2010
- 40. 困难与挑战 @ 2009
挑战:性能要求更严格
解决方法:
– 根据ySlow原则逐条优化
– Assets.taobaocdn.com
– Cookie 优化
– 图片压缩
– 图片延迟
– 常用工具: Firebug + Fiddler + ySlow +
PageSpeed + Webpagetest
- 43. 淘宝网前端 @ 2010
前端员工人数
100
90
80 70
70
60
50
40 30
30
20 14
5
10 0
0
2006 2007 2008 2009 2010
- 44. 问题与挑战 @ 2010
• YUI + Tbra 的前端架构不再适合淘宝
• 性能要求苛刻
• 项目前端开发工作量占比不断提高,对前
端技能要求日益提高
- 46. 淘宝2010前端架构
App Lib { Mall 3C Shop … }
Company Lib { TBra TBack }
Common Lib { YUI2 Kissy }
- 49. 前端的发展
Web开发
应用Web化 (HTML/CSS/JavaScript/Flash/浏览器
兼容性)
交互设计代码实现
用户体验经济
(有设计基础,理解用户体验)
业务开发
Web应用桌面化 (Ajax异步开发,服务端编程语言基础,
性能)
云端管道开发
云计算
(API,架构,安全)