张克军 豆瓣前端团队的工作方式

29
F2E @ Douban 张克 (Kejun) hikejun.com | twitter.com/kejunz http://hikejun.com/sharing/f2e_at_douban.pdf Friday, October 29, 2010

Transcript of 张克军 豆瓣前端团队的工作方式

Page 1: 张克军 豆瓣前端团队的工作方式

F2E @ Douban

张克军 (Kejun)hikejun.com | twitter.com/kejunz

http://hikejun.com/sharing/f2e_at_douban.pdfFriday, October 29, 2010

Page 2: 张克军 豆瓣前端团队的工作方式

collective intelligence “集体智慧,即一个团队处于多任务状态下取得成功的能力”

http://article.yeeyan.org/view/170769/140409

“人们是如此重视个人智慧和个人成就,......

由于我们的世界变得更加扁平化,相互间联系性也更强,

他们聚在一起能做些什么要比考虑一个人能做什么更重要。”

Friday, October 29, 2010

Page 3: 张克军 豆瓣前端团队的工作方式

Team

Friday, October 29, 2010

Page 4: 张克军 豆瓣前端团队的工作方式

http://www.flickr.com/photos/haagsuitburo/2576659737/sizes/l/in/photostream/

Friday, October 29, 2010

Page 5: 张克军 豆瓣前端团队的工作方式

http://www.flickr.com/photos/sub1522/4503033044/sizes/l/in/pool-15135580@N00/

Friday, October 29, 2010

Page 6: 张克军 豆瓣前端团队的工作方式

http://www.flickr.com/photos/42249245@N00/5049964175/sizes/l/in/pool-76277299@N00/

Friday, October 29, 2010

Page 7: 张克军 豆瓣前端团队的工作方式

http://site.douban.com/106371

Friday, October 29, 2010

Page 8: 张克军 豆瓣前端团队的工作方式

Jazz Bandhttp://site.douban.com/106371

Friday, October 29, 2010

Page 9: 张克军 豆瓣前端团队的工作方式

Tech Dept.

Friday, October 29, 2010

Page 10: 张克军 豆瓣前端团队的工作方式

FrontEnd Eng. Product Eng. Algorithm Eng. Platform/OPS Eng.QA Eng.

Friday, October 29, 2010

Page 11: 张克军 豆瓣前端团队的工作方式

FrontEnd Eng. Product Eng. Algorithm Eng. Platform/OPS Eng.QA Eng.

Friday, October 29, 2010

Page 12: 张克军 豆瓣前端团队的工作方式

Roles, Infrastructure, fusion

Efficient, Innovation

Friday, October 29, 2010

Page 13: 张克军 豆瓣前端团队的工作方式

FrontEnd Infrastructure

Friday, October 29, 2010

Page 15: 张克军 豆瓣前端团队的工作方式

Modular & structuredcore concept:

Friday, October 29, 2010

Page 16: 张克军 豆瓣前端团队的工作方式

DoubanUI lib Lib Lib

jQuery

sns movie music

booksite

radio biz ...

coverflow

live_counter

Do

Friday, October 29, 2010

Page 17: 张克军 豆瓣前端团队的工作方式

DoubanUI lib Lib Lib

jQuery

sns movie music

booksite

radio biz ...

coverflow

live_counter

Do

Common libs

Friday, October 29, 2010

Page 18: 张克军 豆瓣前端团队的工作方式

DoubanUI lib Lib Lib

jQuery

sns movie music

booksite

radio biz ...

coverflow

live_counter

Do

Application libs

Common libs

Friday, October 29, 2010

Page 19: 张克军 豆瓣前端团队的工作方式

DoubanUI lib Lib Lib

jQuery

sns movie music

booksite

radio biz ...

coverflow

live_counter

Do

Application libs

Common libs

Framework

Friday, October 29, 2010

Page 20: 张克军 豆瓣前端团队的工作方式

Do('mod1', '/js/site/common.js', function(){ //code here; });Do(‘mod2’, ‘mod3’)Do(function(){ //code here; })

Do(uban)是一个轻量的Javascript开发框架。目的是在前端组织和管理项目中的Javascript模块。因此,Do在设计上仅提供模块管理的相关机制,主要是模块的组织和模块之间依赖关系管理。不杂糅任何业务逻辑,确保其足够轻量。目前do.js压缩后是2.1K,gzip后是0.9K。

Advantages:

1. Modular2. Dependency Management3. Parallel execution queue

Friday, October 29, 2010

Page 21: 张克军 豆瓣前端团队的工作方式

base

page

page

page

page

page

project

core

utils

movie

music

book

sns

...

DoubanUI (mako)

Friday, October 29, 2010

Page 22: 张克军 豆瓣前端团队的工作方式

- Infomation Content Moduler- Standard UI Component/Prototype

DoubanUI

Friday, October 29, 2010

Page 23: 张克军 豆瓣前端团队的工作方式

- Infomation Content Moduler- Standard UI Component/Prototype

DoubanUI

core.css(css)

TemplUtils

(mako)

UI widgets

(JS)

Friday, October 29, 2010

Page 24: 张克军 豆瓣前端团队的工作方式

Dev Process & Collaboration

Friday, October 29, 2010

Page 25: 张克军 豆瓣前端团队的工作方式

1. Prototype Dev.2. Iteration Dev. 3. Build 4. testing

Friday, October 29, 2010

Page 26: 张克军 豆瓣前端团队的工作方式

Prototype Dev. Env. Development Env. Pre-release Env.

Friday, October 29, 2010

Page 27: 张克军 豆瓣前端团队的工作方式

http://site.douban.com/widget/photos/22528/photo/617215445/#next_photo

Share your cheese!

Friday, October 29, 2010

Page 28: 张克军 豆瓣前端团队的工作方式

Coding With Fun

Friday, October 29, 2010

Page 29: 张克军 豆瓣前端团队的工作方式

Q & A

Friday, October 29, 2010