Suche senden
Hochladen
Postoffer前端架构设计
•
Als PPTX, PDF herunterladen
•
4 gefällt mir
•
841 views
fangdeng
Folgen
Melden
Teilen
Melden
Teilen
1 von 31
Jetzt herunterladen
Empfohlen
Google analytics代码部署补充 + SEO 搜索引擎优化
Google analytics代码部署补充 + SEO 搜索引擎优化
Vinny Wu
淘宝前端架构(玉伯)[懒懒交流会#38]
淘宝前端架构(玉伯)[懒懒交流会#38]
taobao.com
百度前端架构
百度前端架构
tiantianli
前端&服务器
前端&服务器
fangdeng
美团前端架构简介
美团前端架构简介
pan weizeng
借助 MongoDB 实现扩展
借助 MongoDB 实现扩展
MongoDB
2011新版首页总结 技术篇
2011新版首页总结 技术篇
传贵 谢
實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)
Gelis Wu
Empfohlen
Google analytics代码部署补充 + SEO 搜索引擎优化
Google analytics代码部署补充 + SEO 搜索引擎优化
Vinny Wu
淘宝前端架构(玉伯)[懒懒交流会#38]
淘宝前端架构(玉伯)[懒懒交流会#38]
taobao.com
百度前端架构
百度前端架构
tiantianli
前端&服务器
前端&服务器
fangdeng
美团前端架构简介
美团前端架构简介
pan weizeng
借助 MongoDB 实现扩展
借助 MongoDB 实现扩展
MongoDB
2011新版首页总结 技术篇
2011新版首页总结 技术篇
传贵 谢
實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)
Gelis Wu
N-layer design & development
N-layer design & development
Xuefeng Zhang
基于Seajs的项目构建
基于Seajs的项目构建
Zhang Xiaoxue
Fl介绍
Fl介绍
Welefen Lee
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
Will Huang
移动端跨平台技术原理
移动端跨平台技术原理
gorillazf
[2008]网站重构 -who am i
[2008]网站重构 -who am i
Twinsen Liang
达尔文信息云平台
达尔文信息云平台
SmartData
淘宝网前端应用与发展
淘宝网前端应用与发展
taobao.com
前端总结
前端总结
tomiezhang
01.web sphere培训 j2ee服务器简介
01.web sphere培训 j2ee服务器简介
littlecong
淘宝网架构变迁和挑战(Oracle架构师日)
淘宝网架构变迁和挑战(Oracle架构师日)
vanadies10
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
Andrew Wu
Html&css培训 舒克
Html&css培训 舒克
jay li
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构 王保平
drewz lin
设计高性能mysql应用-TechClub技术沙龙
设计高性能mysql应用-TechClub技术沙龙
banping
白玉磊 Webrebuild
白玉磊 Webrebuild
裕波 周
石玉磊 Web rebuild
石玉磊 Web rebuild
Webrebuild
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化
taobao.com
4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdf
ssuserd6c7621
赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展
d0nn9n
jQuery底层架构
jQuery底层架构
fangdeng
Building an event driven web
Building an event driven web
fangdeng
Weitere ähnliche Inhalte
Ähnlich wie Postoffer前端架构设计
N-layer design & development
N-layer design & development
Xuefeng Zhang
基于Seajs的项目构建
基于Seajs的项目构建
Zhang Xiaoxue
Fl介绍
Fl介绍
Welefen Lee
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
Will Huang
移动端跨平台技术原理
移动端跨平台技术原理
gorillazf
[2008]网站重构 -who am i
[2008]网站重构 -who am i
Twinsen Liang
达尔文信息云平台
达尔文信息云平台
SmartData
淘宝网前端应用与发展
淘宝网前端应用与发展
taobao.com
前端总结
前端总结
tomiezhang
01.web sphere培训 j2ee服务器简介
01.web sphere培训 j2ee服务器简介
littlecong
淘宝网架构变迁和挑战(Oracle架构师日)
淘宝网架构变迁和挑战(Oracle架构师日)
vanadies10
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
Andrew Wu
Html&css培训 舒克
Html&css培训 舒克
jay li
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构 王保平
drewz lin
设计高性能mysql应用-TechClub技术沙龙
设计高性能mysql应用-TechClub技术沙龙
banping
白玉磊 Webrebuild
白玉磊 Webrebuild
裕波 周
石玉磊 Web rebuild
石玉磊 Web rebuild
Webrebuild
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化
taobao.com
4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdf
ssuserd6c7621
赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展
d0nn9n
Ähnlich wie Postoffer前端架构设计
(20)
N-layer design & development
N-layer design & development
基于Seajs的项目构建
基于Seajs的项目构建
Fl介绍
Fl介绍
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
移动端跨平台技术原理
移动端跨平台技术原理
[2008]网站重构 -who am i
[2008]网站重构 -who am i
达尔文信息云平台
达尔文信息云平台
淘宝网前端应用与发展
淘宝网前端应用与发展
前端总结
前端总结
01.web sphere培训 j2ee服务器简介
01.web sphere培训 j2ee服务器简介
淘宝网架构变迁和挑战(Oracle架构师日)
淘宝网架构变迁和挑战(Oracle架构师日)
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
Html&css培训 舒克
Html&css培训 舒克
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构 王保平
设计高性能mysql应用-TechClub技术沙龙
设计高性能mysql应用-TechClub技术沙龙
白玉磊 Webrebuild
白玉磊 Webrebuild
石玉磊 Web rebuild
石玉磊 Web rebuild
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化
4. Go 工程化实践-0124-v2.pdf
4. Go 工程化实践-0124-v2.pdf
赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展
Mehr von fangdeng
jQuery底层架构
jQuery底层架构
fangdeng
Building an event driven web
Building an event driven web
fangdeng
浅尝jQuery
浅尝jQuery
fangdeng
Html基础培训
Html基础培训
fangdeng
前端开发之Js
前端开发之Js
fangdeng
Javascript代码注释及文档生成
Javascript代码注释及文档生成
fangdeng
J engine -构建高性能、可监控的前端应用框架
J engine -构建高性能、可监控的前端应用框架
fangdeng
前端单元测试初体验
前端单元测试初体验
fangdeng
Java script测试之js unit ut
Java script测试之js unit ut
fangdeng
2011年方凳年度总结及颁奖
2011年方凳年度总结及颁奖
fangdeng
产品线中的思考
产品线中的思考
fangdeng
产品线中的思考
产品线中的思考
fangdeng
Varnish简介
Varnish简介
fangdeng
Websocket
Websocket
fangdeng
Let's talk about date in javascript
Let's talk about date in javascript
fangdeng
Test driven-frontend-develop
Test driven-frontend-develop
fangdeng
方凳良品1期
方凳良品1期
fangdeng
方凳良品2期
方凳良品2期
fangdeng
魏琪君-重构-关于可读性、原则和模式
魏琪君-重构-关于可读性、原则和模式
fangdeng
Datalazyload
Datalazyload
fangdeng
Mehr von fangdeng
(20)
jQuery底层架构
jQuery底层架构
Building an event driven web
Building an event driven web
浅尝jQuery
浅尝jQuery
Html基础培训
Html基础培训
前端开发之Js
前端开发之Js
Javascript代码注释及文档生成
Javascript代码注释及文档生成
J engine -构建高性能、可监控的前端应用框架
J engine -构建高性能、可监控的前端应用框架
前端单元测试初体验
前端单元测试初体验
Java script测试之js unit ut
Java script测试之js unit ut
2011年方凳年度总结及颁奖
2011年方凳年度总结及颁奖
产品线中的思考
产品线中的思考
产品线中的思考
产品线中的思考
Varnish简介
Varnish简介
Websocket
Websocket
Let's talk about date in javascript
Let's talk about date in javascript
Test driven-frontend-develop
Test driven-frontend-develop
方凳良品1期
方凳良品1期
方凳良品2期
方凳良品2期
魏琪君-重构-关于可读性、原则和模式
魏琪君-重构-关于可读性、原则和模式
Datalazyload
Datalazyload
Postoffer前端架构设计
1.
Postoffer前端架构设计
市场开发部-前端组 徐琳
2.
目录 CONTENTS
1 产品线特点 2 前端架构设计 3 规划和展望
3.
产品线特点
什么是Offer? • Offer是指会员在网站上发布的信息。 • Offer线是中文站最基础也是最核心的产品线之一,任何在线交易都依赖 于offer。 Offer 发布Offer 管理Offer Offer detail展示
4.
产品线特点 Offer发布线结构
A 发布一体化入口页面 B 选择类目页面 C 填写信息详细页 D 发布成功页
5.
产品线特点 你对Offer发布线有什么样的印象?
6.
产品线特点 Offer发布线重构前 • 产品线迭代频繁 • 业务逻辑复杂(牵一发而动全身) •
代码耦合度太高 • 不满足服务化需求
7.
产品线特点 重构组件分割
8.
产品线特点 重构组件分割
9.
产品线特点 重构组件分割
10.
前端架构设计 目录设计 • css 文件目录:
app platform postoffer • js 文件目录: app platform postoffer
11.
前端架构设计 css目录结构说明 • global
base.css 页面公用样式,如layout。 postoffer-merge.css 公用css merge文件,3个页面公用。 • module widget 业务无关公用样式。 mod 模块相关样式。 unit 业务相关的公用样式。 • page 页面级样式以及merge文件。
12.
前端架构设计 css目录结构说明 • global
base.css 页面公用样式,如layout。 postoffer-merge.css 公用css merge文件,3个页面公用。 • module widget 业务无关公用样式。 mod 模块相关样式。 unit 业务相关的公用样式。 • page 页面级样式以及merge文件。
13.
前端架构设计 js目录结构说明 • global
base.js 名字空间声明,申明名字空间 postoffer-merge.js 公用js merge文件,被两个页面都引用 • module widget无关公用js,如 Dialog, Tips等。 mod板块相关js文件,每个板块(mod)对应于一个或多个js文件,如果对应于多个js文 件,这些js文件需要位于板块名称相同的文件夹下。 unit 业务相关的公用js文件。 • page 页面级js以及merge文件。如:表单提交publish
14.
前端架构设计 模块初始化管理 • Html
所有模块需要包含两个class,mod和模块名称。 板块相关的数据(如:初始化数据,异步验证接口地址等) 以 json格式配置在 data-mod-config中。 以交易信息为例:
15.
前端架构设计 模块初始化管理 • Css
以上模块对应的css结构为: mod trade-info trade-info.css
16.
前端架构设计 css编码规则 • css名称需要和它描述的节点名称一致。 • widget,mod,unit都对应于页面中的区块,每一区块都将分配一个class
名称,且有固定前缀。 • 各部分可允许依赖的关系为: base < widget < unit < mod < page,后者可根据需要覆盖前者规则
17.
前端架构设计 模块初始化管理 • Js
如果一个mod比较复杂,那么需要有几个类来完成它的功能, 需要为这个mod申明一个名 字空间。
18.
前端架构设计 模块初始化管理 一个mod对应于一个主类,由它来完成mod的初始化,定义后需要注册 到ModContext中。
19.
前端架构设计 模块初始化管理 部分代码:
20.
前端架构设计 模块间交互
模块间交互 基于数据模 基于页面元 型的交互 素的交互
21.
前端架构设计 模块间交互 • 基于数据模型的交互
每个板块在初始化前会被ModContext注入一个接口,通过这个接口可以“通知”,“监听” 和“查询”offer数据。 该接口的一个实现会在初始化时注入到Mod对象中所以在Mod中可以通过this. formDataProvider取得。
22.
前端架构设计 模块间交互 • 基于数据模型的交互
23.
前端架构设计 模块间交互 • 基于页面元素的交互
板块的有些事件不是基于offer数据的,比如类目选择板块(当前类目发生变化,而其他 板块可能也需要同步做变化),此类交互使用 jQuery事件机制 事件统一挂接在模块点上: 感兴趣的地方可以这样获得通知: 如果是全局事件,则事件统一挂接在window上。
24.
前端架构设计 事件bind在trigger之后怎么办?
25.
前端架构设计 事件bind在trigger之后怎么办? • 框架给出nodeallready事件,将在所有mod的init执行完毕以后抛出。 所以有特殊要求的trigger可以这样用:
//触发规格属性事件 PO.ModContext.bind('nodeallready', function() { self.handleSpecaProDiv(); });
26.
前端架构设计 表单提交
27.
前端架构设计 改进情况对比 • Yslow评分
28.
前端架构设计 改进情况对比 • Keepfast
类目为“电子元器件 > 开关 > 流量开关”的发布页页面加载时间: 组件化前: 组件化后:
29.
规划和展望 • 独角兽部署 实现真正意义上的组件化,style可以按需加载。 •
业务逻辑上的清理优化 • 满足行业化需求
30.
Q&A
31.
The end
Jetzt herunterladen