[Baidu web frontend_conference_2010]_[豆瓣架构]

Post on 15-May-2015

11.127 views 11 download

description

2010.10.30,在百度大厦成功举办了百度前端技术交流会,这是豆瓣的张克军关于豆瓣前端团队的工作方式的分享。f2e_at_douban

Transcript of [Baidu web frontend_conference_2010]_[豆瓣架构]

F2E @ Douban

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

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

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

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

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

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

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

Friday, October 29, 2010

Team

Friday, October 29, 2010

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

Friday, October 29, 2010

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

Friday, October 29, 2010

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

Friday, October 29, 2010

http://site.douban.com/106371

Friday, October 29, 2010

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

Friday, October 29, 2010

Tech Dept.

Friday, October 29, 2010

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

Friday, October 29, 2010

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

Friday, October 29, 2010

Roles, Infrastructure, fusion

Efficient, Innovation

Friday, October 29, 2010

FrontEnd Infrastructure

Friday, October 29, 2010

Modular & structuredcore concept:

Friday, October 29, 2010

DoubanUI lib Lib Lib

jQuery

sns movie music

booksite

radio biz ...

coverflow

live_counter

Do

Friday, October 29, 2010

DoubanUI lib Lib Lib

jQuery

sns movie music

booksite

radio biz ...

coverflow

live_counter

Do

Common libs

Friday, October 29, 2010

DoubanUI lib Lib Lib

jQuery

sns movie music

booksite

radio biz ...

coverflow

live_counter

Do

Application libs

Common libs

Friday, October 29, 2010

DoubanUI lib Lib Lib

jQuery

sns movie music

booksite

radio biz ...

coverflow

live_counter

Do

Application libs

Common libs

Framework

Friday, October 29, 2010

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

base

page

page

page

page

page

project

core

utils

movie

music

book

sns

...

DoubanUI (mako)

Friday, October 29, 2010

- Infomation Content Moduler- Standard UI Component/Prototype

DoubanUI

Friday, October 29, 2010

- Infomation Content Moduler- Standard UI Component/Prototype

DoubanUI

core.css(css)

TemplUtils

(mako)

UI widgets

(JS)

Friday, October 29, 2010

Dev Process & Collaboration

Friday, October 29, 2010

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

Friday, October 29, 2010

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

Friday, October 29, 2010

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

Share your cheese!

Friday, October 29, 2010

Coding With Fun

Friday, October 29, 2010

Q & A

Friday, October 29, 2010