淘宝2011新版首页开发实践

简介: 导读:淘宝开发团队成员写的新年首页改版心得,与技术界人士分享。以下是文章内容:新年钟声刚过,淘宝新版首页全“心”上线了,这次设计大胆的将布局从 960px 伸展至 1000px,页面更通透,新首页更大范围的实践了 HTML5 和 CSS3,全面兼容 iPad,并在可访问性方面有了更多积极的尝试。

导读:淘宝开发团队成员写的新年首页改版心得,与技术界人士分享。

以下是文章内容:

新年钟声刚过,淘宝新版首页全“心”上线了,这次设计大胆的将布局从 960px 伸展至 1000px,页面更通透,新首页更大范围的实践了 HTML5 CSS3,全面兼容 iPad,并在可访问性方面有了更多积极的尝试。对于我来讲,这次开发着实是一次奇妙的经历,也让我对可访问性、HTML5 和性能优化有了新的认识。

其实 HTML5 并不是那么遥不可及,现在也有着不少针对 PC 终端的 html5 template,如果不甚考虑 ie6/7/8 禁用脚本的情况,完全可以放手运用 HTML5 标签。那么针对那些 ie6/7/8 禁用脚本的用户,我们参照了 facebook 的做法,即引导用户进入带有noscript标识的 “/?_fb_noscript=1”页面,用HTML4 标签替换HTML5 标签,这要比为了保持兼容性而写大量 hack 的做法更轻便一些。

如果你足够细心,就会发现新首页并未完全遵循“栅格”,因为一个很纯粹的文档中,实现栅格效果所使用的层层 wrap 本身就缺乏语义,HTML5 带来了更多语义化的标签,这和缺乏语义的栅格实现是如此格格不入,摆脱栅格,容器用绝对定位,不用写那么多 hack,岂不多快好省~

另外,关于性能优化,之前我们的确过于依赖 yslowpagespeed 的评分,其实,这些条条框框才是真正阻碍我们作 WPO 的拦路虎,不是说这些指标不科学,而是他们限制住了我们的思维和视野,更何况,他们都缺少对“加载/渲染时间”这个最重要的因素的评估,当用户更快的看到并可用页面(尤其是首屏),才是真正的性能提升,因此,这次开发特意针对 First Rendering(首次渲染)的指标进行一些重构,重写了几乎所有的逻辑层Js 代码 (domready 之前,甚至 Render 出 UI 之前,Js 已经在运行了),当 Js 效率更高,CPU 损耗更少时,浏览器才会更多的将硬件资源投入到渲染 Dom 本身,First Rendering 自然会更加提前,后续的渲染也会提速。可以参照新旧淘宝首页的 CPU 耗能对比,以及其对 First Rendering(绿线)的影响。

2010(旧)首页加载 CPU 损耗

2011(新)首页加载 CPU 损耗:

当然,延迟加载、延迟渲染等技术在这里依然适用,上次淘宝首页改版云谦同学作了详尽的总结,这里就不再赘述了。更多内容大家可以到这里下载 ppt

本文转自:http://ued.taobao.com/blog/2011/01/11/dev-share-for-taobao-new-homepage/

目录
相关文章
|
6月前
|
小程序 安全 搜索推荐
【社区每周】新版O站上线,小程序新增无需审核的普通模板(2022年7月第三期)
【社区每周】新版O站上线,小程序新增无需审核的普通模板(2022年7月第三期)
106 12
|
JSON 小程序 前端开发
微信小程序开发的OA会议之首页搭建
微信小程序开发的OA会议之首页搭建
52 0
|
3月前
|
前端开发 JavaScript NoSQL
构建苏宁商品详情页:从前端展示到后端服务的实战指南
苏宁商品详情页集成前端展示与后端服务,前端利用HTML/CSS/JavaScript呈现信息,后端采用Node.js/Java/Python等技术处理请求并从MySQL/MongoDB等数据库获取数据。示例中,Node.js通过Express框架搭建API,模拟商品查询逻辑。实际应用更为复杂,涵盖用户评价、推荐等功能,并需考虑分布式架构、安全防护及性能优化等方面。
构建苏宁商品详情页:从前端展示到后端服务的实战指南
|
4月前
|
小程序 安全 搜索推荐
【微信小程序开发实战项目】——个人中心页面的制作
本文介绍了如何设计和实现一个网上花店的微信小程序,包括个人中心、我的订单和我的地址等功能模块。个人中心让用户能够查看订单历史、管理地址和与客服互动。代码示例展示了`own.wxml`、`own.wxss`和`own.js`文件,用于构建个人中心界面,包括用户信息、订单链接、收藏、地址、客服和版本信息。我的订单部分展示了订单详情,包括商品图片、名称、销量、价格和订单状态,用户可以查看和管理订单。我的地址功能允许用户输入和编辑收货信息,包括联系人、性别、电话、城市和详细地址。每个功能模块都附有相应的WXML和WXSS代码,以及简洁的样式设计。
209 0
【微信小程序开发实战项目】——个人中心页面的制作
|
JSON 小程序 前端开发
微信小程序开发之会议oa(首页搭建)
微信小程序开发之会议oa(首页搭建)
147 0
|
安全 Python
盲盒商城系统模型开发技术方案源代码详情
blind_boxes = get_blind_boxes() return render_template('index.html', blind_boxes=blind_boxes) else: return redirect(url_for('login'))
|
小程序 开发者
微信小程序的发布及上线
微信小程序的发布及上线
256 0
|
小程序 开发工具 开发者
微信小游戏开发实战12-广告的开通和接入
本节内容主要包括:如何尽快的开通广告功能,以及如何将广告接入到微信小游戏中。 如果你没有任何的游戏开发经验,欢迎阅读我的“人人都能做游戏”系列教程,它会手把手的教你做出自己的第一个小游戏。
664 0
|
小程序 数据安全/隐私保护
视频号主页添加微信,私域流量管理系统
比起添加企业微信,可以直接添加个人微信当然更方便,更适合大部分人的需求。于是就花时间马上开工,【视频号私域流量管理系统】横空出世。该系统也可实现在视频号主页一键关注与视频号非关联的公众号。
264 0
视频号主页添加微信,私域流量管理系统
|
Android开发 开发者 iOS开发
直播预告|App 首页如何动态化更新?来看蚂蚁技术专家详解「支付宝」全新卡片技术栈
本期 CodeHub 将围绕 Cube 技术的架构逻辑,阐述其渲染和生产过程,并指导开发者完成初阶的技术调试。
323 0
直播预告|App 首页如何动态化更新?来看蚂蚁技术专家详解「支付宝」全新卡片技术栈