SlideShare a Scribd company logo
1 of 27
旺铺前端设计分享
目标 1. 了解旺铺总体结构 2. 如何扩展旺铺板块 3. galaxy框架简介 3. 主题皮肤和自定义样式
了解旺铺 winport.cn.aliaba.com HTML结构—— 怎么样的页面结构才能承载旺铺的需求
总体结构
mod(widget)组装方式
旺铺——双飞翼布局
双飞翼——侧栏在右
双飞翼布局特点及SEO差异化 这种布局的特点是不管是1:3结构还是3:1结构 主区域(grid-main)的内容总是先被渲染出来, 即展示方式和HTML结构解耦。 基于上面的特点,旺铺的动态布局切换很容易实现 对于前端来说只需要改变一个class名称 对于后端来说只需要改变layout类型, 不需要去更改内部的widget顺序 SEO差异化 grid-sub先渲染(grid-sub结点在grid-main之前, 而展示效果却一样
板块初始化 大部分的板块需要JS进行初始化(侧边栏P4P广告位, 相册板块等等) 每个板块如果需要应该会有独立的初始化逻辑 DIY需求 : 添加一个新板块的时候需要初始化这个板块 修改板块的时候可能也需要重新渲染板块 可能在其他地方也需要重新渲染板块, 例: 修改导横条数据
架构需求(相对于业务需求) 1. 可以在任何时候对指定板块进行初始化 2  扩展性:只需要提供板块的内容(HTML), 以及初始化该内容的JS逻辑就可以了
开发一个新板块 <div class=”mod wp-albums” data-mod-config=’{“albumUrl”: “http://...”}’> 	<div class=” m-body”> 		<div class=”m-header”>公司相册</div> 		<div class=”m-content”>相册主题内容会渲染在这里</div>       </div> </div>
var Albums = Util.mkclass({ 	init: function(div, config) { 		this.div = div; this.config = config;   this.render(); 	},   	render: function() { varurl = this.config.albumUrl; 		$.ajax(url, { 			success: function()… 		}) 	} }); ModContext.register(‘wp-album’, Albums);
单实例板块 varSupplierInfo = { 	init: function(div, config) { 		… 	} };   ModContext.register(‘wp-supplier-info’, SupplierInfo );
可以在任何时候对指定板块进行初始化  ModeContext#refresh(mod);
板块css/js的按需加载
折衷方案 externalCss和externalJs
galaxy简介 插件结构(文件夹结构) 渲染方式
原有模板结构
galaxy模板结构
galaxy theme
mod-box
开发感悟分享 一 、从业务需求抽象架构需求(直接了当地抽象, 具体的抽象)  1. mod :  可以在任何时刻对板块(一个,多个或某类)进行初始化  ModContext.refresh(mod) 仅添加板块的HTML和相应的js和css的方式进行板块扩展 ModContext.register(name, config)  2. datastore 对多次相同url和参数的取数请求,只请求一次  DataStore.get(url, options)  3. tracelog 可以以申明式的方式进行打点
二、约定大于配置(prefer convention over configuration) mod,  data-mod-config, data-box-config, data-edit-config, form-handler等等

More Related Content

Similar to 旺铺前端设计分享

Web前端标准在各浏览器中的实现差异
Web前端标准在各浏览器中的实现差异Web前端标准在各浏览器中的实现差异
Web前端标准在各浏览器中的实现差异cleverpig
 
實戰流網站優化 – 修身篇
實戰流網站優化 – 修身篇實戰流網站優化 – 修身篇
實戰流網站優化 – 修身篇煜庭 邱
 
Postoffer前端架构设计
Postoffer前端架构设计Postoffer前端架构设计
Postoffer前端架构设计fangdeng
 
高粒度模块化的前端开发
高粒度模块化的前端开发高粒度模块化的前端开发
高粒度模块化的前端开发iddcn
 
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化taobao.com
 
D2-ETao-show
D2-ETao-showD2-ETao-show
D2-ETao-showleneli
 
淘宝网前端开发面试题
淘宝网前端开发面试题 淘宝网前端开发面试题
淘宝网前端开发面试题 Lumend
 
赶集团购开发总结4
赶集团购开发总结4赶集团购开发总结4
赶集团购开发总结4yangdj
 
前端基础知识回顾
前端基础知识回顾前端基础知识回顾
前端基础知识回顾Wu tianhao
 
Introduction of JIOPi
Introduction of JIOPiIntroduction of JIOPi
Introduction of JIOPinetstarry
 
Introduction of JIOPi
Introduction of JIOPiIntroduction of JIOPi
Introduction of JIOPinetstarry
 
2011新版首页总结 技术篇
2011新版首页总结 技术篇2011新版首页总结 技术篇
2011新版首页总结 技术篇传贵 谢
 
前端&服务器
前端&服务器前端&服务器
前端&服务器fangdeng
 
新浪微博的BigPipe后端实现技术分享——11月26日淘宝aDev技术沙龙
新浪微博的BigPipe后端实现技术分享——11月26日淘宝aDev技术沙龙新浪微博的BigPipe后端实现技术分享——11月26日淘宝aDev技术沙龙
新浪微博的BigPipe后端实现技术分享——11月26日淘宝aDev技术沙龙slawdan
 
淘宝网前端应用与发展
淘宝网前端应用与发展淘宝网前端应用与发展
淘宝网前端应用与发展taobao.com
 
【项目分享】赶集移动Web App开发总结
【项目分享】赶集移动Web App开发总结 【项目分享】赶集移动Web App开发总结
【项目分享】赶集移动Web App开发总结 yangdj
 
Single-Page App Development
Single-Page App DevelopmentSingle-Page App Development
Single-Page App Developmentgenify
 

Similar to 旺铺前端设计分享 (20)

Web前端标准在各浏览器中的实现差异
Web前端标准在各浏览器中的实现差异Web前端标准在各浏览器中的实现差异
Web前端标准在各浏览器中的实现差异
 
實戰流網站優化 – 修身篇
實戰流網站優化 – 修身篇實戰流網站優化 – 修身篇
實戰流網站優化 – 修身篇
 
前端总结
前端总结前端总结
前端总结
 
Postoffer前端架构设计
Postoffer前端架构设计Postoffer前端架构设计
Postoffer前端架构设计
 
高粒度模块化的前端开发
高粒度模块化的前端开发高粒度模块化的前端开发
高粒度模块化的前端开发
 
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化
 
第7章
第7章第7章
第7章
 
S_E_O
S_E_OS_E_O
S_E_O
 
D2-ETao-show
D2-ETao-showD2-ETao-show
D2-ETao-show
 
淘宝网前端开发面试题
淘宝网前端开发面试题 淘宝网前端开发面试题
淘宝网前端开发面试题
 
赶集团购开发总结4
赶集团购开发总结4赶集团购开发总结4
赶集团购开发总结4
 
前端基础知识回顾
前端基础知识回顾前端基础知识回顾
前端基础知识回顾
 
Introduction of JIOPi
Introduction of JIOPiIntroduction of JIOPi
Introduction of JIOPi
 
Introduction of JIOPi
Introduction of JIOPiIntroduction of JIOPi
Introduction of JIOPi
 
2011新版首页总结 技术篇
2011新版首页总结 技术篇2011新版首页总结 技术篇
2011新版首页总结 技术篇
 
前端&服务器
前端&服务器前端&服务器
前端&服务器
 
新浪微博的BigPipe后端实现技术分享——11月26日淘宝aDev技术沙龙
新浪微博的BigPipe后端实现技术分享——11月26日淘宝aDev技术沙龙新浪微博的BigPipe后端实现技术分享——11月26日淘宝aDev技术沙龙
新浪微博的BigPipe后端实现技术分享——11月26日淘宝aDev技术沙龙
 
淘宝网前端应用与发展
淘宝网前端应用与发展淘宝网前端应用与发展
淘宝网前端应用与发展
 
【项目分享】赶集移动Web App开发总结
【项目分享】赶集移动Web App开发总结 【项目分享】赶集移动Web App开发总结
【项目分享】赶集移动Web App开发总结
 
Single-Page App Development
Single-Page App DevelopmentSingle-Page App Development
Single-Page App Development
 

More from fangdeng

jQuery底层架构
jQuery底层架构jQuery底层架构
jQuery底层架构fangdeng
 
Building an event driven web
Building an event driven webBuilding an event driven web
Building an event driven webfangdeng
 
浅尝jQuery
浅尝jQuery浅尝jQuery
浅尝jQueryfangdeng
 
Html基础培训
Html基础培训Html基础培训
Html基础培训fangdeng
 
前端开发之Js
前端开发之Js前端开发之Js
前端开发之Jsfangdeng
 
Javascript代码注释及文档生成
Javascript代码注释及文档生成Javascript代码注释及文档生成
Javascript代码注释及文档生成fangdeng
 
J engine -构建高性能、可监控的前端应用框架
J engine -构建高性能、可监控的前端应用框架J engine -构建高性能、可监控的前端应用框架
J engine -构建高性能、可监控的前端应用框架fangdeng
 
前端单元测试初体验
前端单元测试初体验前端单元测试初体验
前端单元测试初体验fangdeng
 
Java script测试之js unit ut
Java script测试之js unit utJava script测试之js unit ut
Java script测试之js unit utfangdeng
 
2011年方凳年度总结及颁奖
2011年方凳年度总结及颁奖2011年方凳年度总结及颁奖
2011年方凳年度总结及颁奖fangdeng
 
产品线中的思考
产品线中的思考产品线中的思考
产品线中的思考fangdeng
 
产品线中的思考
产品线中的思考产品线中的思考
产品线中的思考fangdeng
 
Varnish简介
Varnish简介Varnish简介
Varnish简介fangdeng
 
Let's talk about date in javascript
Let's talk about  date  in javascriptLet's talk about  date  in javascript
Let's talk about date in javascriptfangdeng
 
Test driven-frontend-develop
Test driven-frontend-developTest driven-frontend-develop
Test driven-frontend-developfangdeng
 
方凳良品1期
方凳良品1期方凳良品1期
方凳良品1期fangdeng
 
方凳良品2期
方凳良品2期方凳良品2期
方凳良品2期fangdeng
 
魏琪君-重构-关于可读性、原则和模式
魏琪君-重构-关于可读性、原则和模式魏琪君-重构-关于可读性、原则和模式
魏琪君-重构-关于可读性、原则和模式fangdeng
 
Datalazyload
DatalazyloadDatalazyload
Datalazyloadfangdeng
 

More from fangdeng (20)

jQuery底层架构
jQuery底层架构jQuery底层架构
jQuery底层架构
 
Building an event driven web
Building an event driven webBuilding an event driven web
Building an event driven web
 
浅尝jQuery
浅尝jQuery浅尝jQuery
浅尝jQuery
 
Html基础培训
Html基础培训Html基础培训
Html基础培训
 
前端开发之Js
前端开发之Js前端开发之Js
前端开发之Js
 
Javascript代码注释及文档生成
Javascript代码注释及文档生成Javascript代码注释及文档生成
Javascript代码注释及文档生成
 
J engine -构建高性能、可监控的前端应用框架
J engine -构建高性能、可监控的前端应用框架J engine -构建高性能、可监控的前端应用框架
J engine -构建高性能、可监控的前端应用框架
 
前端单元测试初体验
前端单元测试初体验前端单元测试初体验
前端单元测试初体验
 
Java script测试之js unit ut
Java script测试之js unit utJava script测试之js unit ut
Java script测试之js unit ut
 
2011年方凳年度总结及颁奖
2011年方凳年度总结及颁奖2011年方凳年度总结及颁奖
2011年方凳年度总结及颁奖
 
产品线中的思考
产品线中的思考产品线中的思考
产品线中的思考
 
产品线中的思考
产品线中的思考产品线中的思考
产品线中的思考
 
Varnish简介
Varnish简介Varnish简介
Varnish简介
 
Websocket
WebsocketWebsocket
Websocket
 
Let's talk about date in javascript
Let's talk about  date  in javascriptLet's talk about  date  in javascript
Let's talk about date in javascript
 
Test driven-frontend-develop
Test driven-frontend-developTest driven-frontend-develop
Test driven-frontend-develop
 
方凳良品1期
方凳良品1期方凳良品1期
方凳良品1期
 
方凳良品2期
方凳良品2期方凳良品2期
方凳良品2期
 
魏琪君-重构-关于可读性、原则和模式
魏琪君-重构-关于可读性、原则和模式魏琪君-重构-关于可读性、原则和模式
魏琪君-重构-关于可读性、原则和模式
 
Datalazyload
DatalazyloadDatalazyload
Datalazyload
 

旺铺前端设计分享