电子书项目总结 前端

39
电子书项目总结 ( 前端 ) 拔赤 [email protected]

Upload: jay-li

Post on 13-Jul-2015

2.726 views

Category:

Technology


18 download

TRANSCRIPT

Page 1: 电子书项目总结 前端

电子书项目总结 (前端 ) 拔赤 [email protected]

Page 2: 电子书项目总结 前端

前后端分工

Page 3: 电子书项目总结 前端

Yahoo技术栈

Page 4: 电子书项目总结 前端

前端和后端

Page 5: 电子书项目总结 前端

前端工程师的知识结构

Page 6: 电子书项目总结 前端

分工

• Vd 视觉设计• Id 交互设计• Wd 前端工程师

• Be 后端工程师• QA 测试

Page 7: 电子书项目总结 前端

前端职责

• 视觉呈现 设计• 前端交互 开发• 前端逻辑 ajax

Page 8: 电子书项目总结 前端

Ebook中的前端规范

Page 9: 电子书项目总结 前端

脆弱的页面代码

• Css,js,php,html混杂在一起• Html的被动语义,语法简单• Js命名空间

Page 10: 电子书项目总结 前端

页面代码可读性差

增加调试难度(调试 ie)

可维护性差(增加功能)

更别提重用糟糕的后果

Page 11: 电子书项目总结 前端

页面代码易读

方便调试

易于维护(增加功能)

重用

规范的页面代码

Page 12: 电子书项目总结 前端

前端通用规范

• File-encode: gbk• doctype: html4 strict• Css: css2• Js: YUI

Page 13: 电子书项目总结 前端

前端质量

Firefox2~ 3 IE6~ 8

chrome opera safari

Page 14: 电子书项目总结 前端

Cubee—对 YUI3的封装

Page 15: 电子书项目总结 前端

YUI原生的松耦合

项目需要的紧耦合

Cubee的目标

Page 16: 电子书项目总结 前端

//a的代码YUI({modules:{

'module-a':{fullpath:'module-a.js'

}}}).use('module-a',function(sandbox-a){

//a的代码});

//b的代码YUI({modules:{

'module-b':{fullpath:'module-b.js'

}}}).use('module-b',function(sandbox-b){

//b的代码});

基于原生 YUI3的多模块之间的松耦合

Page 17: 电子书项目总结 前端

基于原生 YUI3的松耦合

模块间的代码无关

Page 18: 电子书项目总结 前端

var Logic1 = (new Cubee()).addmojo({'module-a':{

fullpath:'module-a.js'}

}).onReady(function(sandbox-a){//a的代码

});

var Logic2 = (new Cubee()).addmojo({'module-b':{

fullpath:'module-b.js'}

}).onReady(function(sandbox-b){//b的代码

});

基于Cubee的模块间的紧耦合

TBloader.onReady(function(){Logic1.start();Logic2.start();

});

Page 19: 电子书项目总结 前端

基于 Cubee的紧耦合

代码之间有相互调用和依赖关系

Page 20: 电子书项目总结 前端

YUI和 Cubee的区别

基于 YUI3的松耦合

基于 Cubee的紧耦合

模块间关系松散自定义 js的重复引用

项目自定义 js库更严格的模块依赖重复引用的去重

Page 21: 电子书项目总结 前端

矛盾的双方

更安全的开发

更简洁高效的代码

Page 22: 电子书项目总结 前端

ebook的取舍

• 更安全的开发

• 更简洁高效的代码

Page 23: 电子书项目总结 前端

Ebook中的组件

Page 24: 电子书项目总结 前端

Example: http://taobao-wd.ns1.name/doc/example/listhover.html

排行榜

Page 25: 电子书项目总结 前端

Example: http://taobao-wd.ns1.name/doc/example/pagination-2.html

分页

Page 26: 电子书项目总结 前端

Example: http://taobao-wd.ns1.name/doc/example/simpleditor.html

编辑器

Page 27: 电子书项目总结 前端

基于 yui3的 swfstoreExample: http://taobao-wd.ns1.name/doc/example/swfstore.html

我的书架

Page 28: 电子书项目总结 前端

Example: http://taobao-wd.ns1.name/doc/example/tblogin.html

淘宝登陆层

Page 29: 电子书项目总结 前端

Example: http://taobao-wd.ns1.name/doc/example/tbrr.html

评论组件

Page 30: 电子书项目总结 前端

前端调试工具简介

Page 31: 电子书项目总结 前端

基于 firefox

• Firebug• Yslow• httpheader

Page 32: 电子书项目总结 前端

基于 IE

• Internet Explore Developer Toolbar• Compaion.js

Page 33: 电子书项目总结 前端

firebug的使用

• firbug可以调试 html, css, js, html和css

• 可以直接修改代码

Page 34: 电子书项目总结 前端

经验教训

Page 35: 电子书项目总结 前端

套页面

• 标签闭合• 结束标签被丢掉• 完整的容器• 简单的事做认真!

HTML学习: http://www.w3school.com.cn/html/

Page 36: 电子书项目总结 前端

文件编码

• 编码和字符集? gb2312,gbk,gb18030,utf-8• vim中的配置

• 关注当前文件的编码set fileencodings=ucs-bom,utf-8,GB18030,gbk

set fileencoding=gb18030

Page 37: 电子书项目总结 前端

文件编码 续

• 中文字符集大小• unicode>=gb18030>gbk>gb2312

Page 38: 电子书项目总结 前端

wiki

ued团队http://twiki.corp.taobao.com/twiki/bin/view/Taobao_DP/DPFETeam

Page 39: 电子书项目总结 前端

Q&A