SlideShare a Scribd company logo
1 of 26
新浪博客前端架构 新浪博客 RIA 开发团队 杨皓 Blog : http://blog.sina.com.cn/randomail Email   : [email_address] 2010 年 10 月 30 日
代码 框架 代码的加载与执行 开发流程 架构实例
代码框架
sina 包 lib 包 product Javascript 框架概览 基础库 通用组件 产品需求
sina 包结构
是基础库,最底层的代码 为上层提供服务 不涉及产品需求 sina 包 功能颗粒度小 隔离了细节,提供抽象的接口
lib 包结构
lib 包 提供通用的可复用功能 组件 交互效果 各产品之间的公共功能 托盘 登录 suggest 一般的配置信息
product 博客 相册 个人中心 活动站
product 各产品代码独立 方便管理、维护、扩展 通过打包发布 调用 lib 和 sina 包的模块 针对产品需求编码 以 Job 的形式注册代码 通过不同的页面 id 加载代码
代码的加载与执行
Job1 Pageid 页面 1 页面 2 页面 3 Job2 Job3 Job4 Job5 Job6 Pageid Pageid 代码按 Job 加载
Job Job 通过 pageid 组织 一个大的功能可拆分成多个 Job 可把复杂的问题相对简单化 一个 Job 可以被多个页面使用 相同的功能可复用
Job 代码 $registJob(“jobTest", function () { alert(“I am a job test,ha~ha~ha~”); } $registJob(“jobTestToo", function () { alert(“I am  还是  a job test,la~la~la~”); }
pageid 引导页代码 function main () { var job = new Jobs(); job.add("jobTest"); job.add("jobTestToo"); job.start(); }
Boot.js <script   type=&quot;text/javascript”   src=&quot;http://host/boot.js&quot;> </script> 页面节点装载完成后执行入口 function __addDOMLoadEvent(main);
 
开发流程
调试模式 上线模式 开发模式 未压缩合并的代码 ,[object Object],合并压缩的代码 线上文件名为页面 id.js
开发顺序 1. 从 SVN 中取出代码 不同的产品在不同的 svn 目录(博客、相册、个人中心、活动站) 2. 开始本地开发和调试 1) XAMPP 搭建本地开发环境 2) ftp 到专门的开发机
3. 提交到 SVN 合并代码 解决因多人开发造成的代码冲突 4. 打包测试 5. 上线 专门的打包工具(合并、压缩、生成页面 id.js ) 打包的 shell 命令: sh –p  产品名 – t svnTag 地址 – o 在 svn 中生成一个新的上线 tag 专门的上线系统上线 开发顺序
开发流程图
架构实例
SinaDialog UML
Q & A
 

More Related Content

Viewers also liked

阿里巴巴 招聘技巧培训
阿里巴巴 招聘技巧培训阿里巴巴 招聘技巧培训
阿里巴巴 招聘技巧培训isnull
 
张克军 豆瓣前端团队的工作方式
张克军 豆瓣前端团队的工作方式张克军 豆瓣前端团队的工作方式
张克军 豆瓣前端团队的工作方式isnull
 
Designofhtml5
Designofhtml5Designofhtml5
Designofhtml5isnull
 
Barcelona apc mem2010
Barcelona apc mem2010Barcelona apc mem2010
Barcelona apc mem2010isnull
 
Normativa 36 hores de futbol sala
Normativa 36 hores de futbol salaNormativa 36 hores de futbol sala
Normativa 36 hores de futbol salaOriol69
 
Nota técnica nº 300 2014 (2)
Nota técnica nº 300 2014 (2)Nota técnica nº 300 2014 (2)
Nota técnica nº 300 2014 (2)TSPCR
 
mahnama paighame shariat jan 2017
mahnama paighame shariat jan 2017mahnama paighame shariat jan 2017
mahnama paighame shariat jan 2017sunninews92
 
January 2017 Posting List
January 2017 Posting ListJanuary 2017 Posting List
January 2017 Posting ListJohn Rust
 
Objetividadsubjetividadeintersubjetividad
ObjetividadsubjetividadeintersubjetividadObjetividadsubjetividadeintersubjetividad
ObjetividadsubjetividadeintersubjetividadGisela Coronado
 
Gr make apresentação de negócios
Gr make   apresentação de negóciosGr make   apresentação de negócios
Gr make apresentação de negóciosgoronski
 
Ecademy 12th Birthday
Ecademy 12th  BirthdayEcademy 12th  Birthday
Ecademy 12th BirthdayPenny Power
 
0430 queimaduras desidratação choque elétrico - Marion
0430 queimaduras desidratação choque elétrico - Marion0430 queimaduras desidratação choque elétrico - Marion
0430 queimaduras desidratação choque elétrico - Marionlaiscarlini
 
A importância do software nas organizações de Jogos Digitais
A importância do software nas organizações de Jogos DigitaisA importância do software nas organizações de Jogos Digitais
A importância do software nas organizações de Jogos DigitaisKelvin Oliveira
 

Viewers also liked (20)

阿里巴巴 招聘技巧培训
阿里巴巴 招聘技巧培训阿里巴巴 招聘技巧培训
阿里巴巴 招聘技巧培训
 
张克军 豆瓣前端团队的工作方式
张克军 豆瓣前端团队的工作方式张克军 豆瓣前端团队的工作方式
张克军 豆瓣前端团队的工作方式
 
Designofhtml5
Designofhtml5Designofhtml5
Designofhtml5
 
Barcelona apc mem2010
Barcelona apc mem2010Barcelona apc mem2010
Barcelona apc mem2010
 
Normativa 36 hores de futbol sala
Normativa 36 hores de futbol salaNormativa 36 hores de futbol sala
Normativa 36 hores de futbol sala
 
Nota técnica nº 300 2014 (2)
Nota técnica nº 300 2014 (2)Nota técnica nº 300 2014 (2)
Nota técnica nº 300 2014 (2)
 
mahnama paighame shariat jan 2017
mahnama paighame shariat jan 2017mahnama paighame shariat jan 2017
mahnama paighame shariat jan 2017
 
January 2017 Posting List
January 2017 Posting ListJanuary 2017 Posting List
January 2017 Posting List
 
Unidad educativa 2
Unidad educativa 2Unidad educativa 2
Unidad educativa 2
 
Objetividadsubjetividadeintersubjetividad
ObjetividadsubjetividadeintersubjetividadObjetividadsubjetividadeintersubjetividad
Objetividadsubjetividadeintersubjetividad
 
Gr make apresentação de negócios
Gr make   apresentação de negóciosGr make   apresentação de negócios
Gr make apresentação de negócios
 
กฎหมายละเมิด หน้าที่ 103- 203
กฎหมายละเมิด หน้าที่ 103- 203กฎหมายละเมิด หน้าที่ 103- 203
กฎหมายละเมิด หน้าที่ 103- 203
 
Ecademy 12th Birthday
Ecademy 12th  BirthdayEcademy 12th  Birthday
Ecademy 12th Birthday
 
0430 queimaduras desidratação choque elétrico - Marion
0430 queimaduras desidratação choque elétrico - Marion0430 queimaduras desidratação choque elétrico - Marion
0430 queimaduras desidratação choque elétrico - Marion
 
Test 2
Test 2Test 2
Test 2
 
17 o messias
17 o messias17 o messias
17 o messias
 
Halal and HACCP
Halal and HACCPHalal and HACCP
Halal and HACCP
 
Elfelejtett források
Elfelejtett forrásokElfelejtett források
Elfelejtett források
 
Heliantus annus
Heliantus annusHeliantus annus
Heliantus annus
 
A importância do software nas organizações de Jogos Digitais
A importância do software nas organizações de Jogos DigitaisA importância do software nas organizações de Jogos Digitais
A importância do software nas organizações de Jogos Digitais
 

Similar to 杨皓 新浪博客前端架构分享

[Baidu web frontend_conference_2010]_[sina_blog_architecture]
[Baidu web frontend_conference_2010]_[sina_blog_architecture][Baidu web frontend_conference_2010]_[sina_blog_architecture]
[Baidu web frontend_conference_2010]_[sina_blog_architecture]思念 青青
 
Django敏捷开发 刘天斯
Django敏捷开发 刘天斯Django敏捷开发 刘天斯
Django敏捷开发 刘天斯liuts
 
开源应用日志收集系统
开源应用日志收集系统开源应用日志收集系统
开源应用日志收集系统klandor
 
常用Js框架比较
常用Js框架比较常用Js框架比较
常用Js框架比较Adam Lu
 
Postoffer前端架构设计
Postoffer前端架构设计Postoffer前端架构设计
Postoffer前端架构设计fangdeng
 
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境drewz lin
 
前端&服务器
前端&服务器前端&服务器
前端&服务器fangdeng
 
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化taobao.com
 
EasyGame分布式网络游戏服务器解决方案
EasyGame分布式网络游戏服务器解决方案EasyGame分布式网络游戏服务器解决方案
EasyGame分布式网络游戏服务器解决方案qiaojie
 
Introduction of JIOPi
Introduction of JIOPiIntroduction of JIOPi
Introduction of JIOPinetstarry
 
Introduction of JIOPi
Introduction of JIOPiIntroduction of JIOPi
Introduction of JIOPinetstarry
 
达尔文信息云平台
达尔文信息云平台达尔文信息云平台
达尔文信息云平台SmartData
 
Wiz企业版使用指南
Wiz企业版使用指南Wiz企业版使用指南
Wiz企业版使用指南oldbruce
 
Langchain and Azure ML and Open AI
Langchain and Azure ML and Open AILangchain and Azure ML and Open AI
Langchain and Azure ML and Open AIKo Ko
 
Linux软件工程师
Linux软件工程师Linux软件工程师
Linux软件工程师xiaotingting
 
rebar erlang 2
rebar erlang 2rebar erlang 2
rebar erlang 2致远 郑
 
美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介pan weizeng
 

Similar to 杨皓 新浪博客前端架构分享 (20)

[Baidu web frontend_conference_2010]_[sina_blog_architecture]
[Baidu web frontend_conference_2010]_[sina_blog_architecture][Baidu web frontend_conference_2010]_[sina_blog_architecture]
[Baidu web frontend_conference_2010]_[sina_blog_architecture]
 
Django敏捷开发 刘天斯
Django敏捷开发 刘天斯Django敏捷开发 刘天斯
Django敏捷开发 刘天斯
 
开源应用日志收集系统
开源应用日志收集系统开源应用日志收集系统
开源应用日志收集系统
 
常用Js框架比较
常用Js框架比较常用Js框架比较
常用Js框架比较
 
Postoffer前端架构设计
Postoffer前端架构设计Postoffer前端架构设计
Postoffer前端架构设计
 
Build Your Own Android Toolchain from scratch
Build Your Own Android Toolchain from scratchBuild Your Own Android Toolchain from scratch
Build Your Own Android Toolchain from scratch
 
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
 
前端&服务器
前端&服务器前端&服务器
前端&服务器
 
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化
 
EasyGame分布式网络游戏服务器解决方案
EasyGame分布式网络游戏服务器解决方案EasyGame分布式网络游戏服务器解决方案
EasyGame分布式网络游戏服务器解决方案
 
Introduction of JIOPi
Introduction of JIOPiIntroduction of JIOPi
Introduction of JIOPi
 
Introduction of JIOPi
Introduction of JIOPiIntroduction of JIOPi
Introduction of JIOPi
 
emis
emisemis
emis
 
达尔文信息云平台
达尔文信息云平台达尔文信息云平台
达尔文信息云平台
 
Wiz企业版使用指南
Wiz企业版使用指南Wiz企业版使用指南
Wiz企业版使用指南
 
Langchain and Azure ML and Open AI
Langchain and Azure ML and Open AILangchain and Azure ML and Open AI
Langchain and Azure ML and Open AI
 
Linux软件工程师
Linux软件工程师Linux软件工程师
Linux软件工程师
 
Esb
EsbEsb
Esb
 
rebar erlang 2
rebar erlang 2rebar erlang 2
rebar erlang 2
 
美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介
 

More from isnull

站点报告模板
站点报告模板站点报告模板
站点报告模板isnull
 
My sql数据库开发的三十六条军规
My sql数据库开发的三十六条军规My sql数据库开发的三十六条军规
My sql数据库开发的三十六条军规isnull
 
基于Web的项目管理工具redmine
基于Web的项目管理工具redmine基于Web的项目管理工具redmine
基于Web的项目管理工具redmineisnull
 
张勇 搜搜前端架构
张勇 搜搜前端架构张勇 搜搜前端架构
张勇 搜搜前端架构isnull
 
Mysql开发与优化
Mysql开发与优化Mysql开发与优化
Mysql开发与优化isnull
 
软件工程&架构
软件工程&架构软件工程&架构
软件工程&架构isnull
 
淘宝分布式数据处理实践
淘宝分布式数据处理实践淘宝分布式数据处理实践
淘宝分布式数据处理实践isnull
 
183银行服务器下载说明
183银行服务器下载说明183银行服务器下载说明
183银行服务器下载说明isnull
 
人人网技术经理张铁安 Feed系统结构浅析
人人网技术经理张铁安 Feed系统结构浅析人人网技术经理张铁安 Feed系统结构浅析
人人网技术经理张铁安 Feed系统结构浅析isnull
 
Tsung
Tsung Tsung
Tsung isnull
 
Dutch php conference_apc_mem2010
Dutch php conference_apc_mem2010Dutch php conference_apc_mem2010
Dutch php conference_apc_mem2010isnull
 
Dutch php conference_2010_opm
Dutch php conference_2010_opmDutch php conference_2010_opm
Dutch php conference_2010_opmisnull
 
Yui3 初探
Yui3 初探Yui3 初探
Yui3 初探isnull
 
大型应用软件架构的变迁
大型应用软件架构的变迁大型应用软件架构的变迁
大型应用软件架构的变迁isnull
 
易趣
易趣易趣
易趣isnull
 

More from isnull (17)

站点报告模板
站点报告模板站点报告模板
站点报告模板
 
My sql数据库开发的三十六条军规
My sql数据库开发的三十六条军规My sql数据库开发的三十六条军规
My sql数据库开发的三十六条军规
 
基于Web的项目管理工具redmine
基于Web的项目管理工具redmine基于Web的项目管理工具redmine
基于Web的项目管理工具redmine
 
张勇 搜搜前端架构
张勇 搜搜前端架构张勇 搜搜前端架构
张勇 搜搜前端架构
 
Mysql开发与优化
Mysql开发与优化Mysql开发与优化
Mysql开发与优化
 
软件工程&架构
软件工程&架构软件工程&架构
软件工程&架构
 
淘宝分布式数据处理实践
淘宝分布式数据处理实践淘宝分布式数据处理实践
淘宝分布式数据处理实践
 
Scrum
ScrumScrum
Scrum
 
Scrum
ScrumScrum
Scrum
 
183银行服务器下载说明
183银行服务器下载说明183银行服务器下载说明
183银行服务器下载说明
 
人人网技术经理张铁安 Feed系统结构浅析
人人网技术经理张铁安 Feed系统结构浅析人人网技术经理张铁安 Feed系统结构浅析
人人网技术经理张铁安 Feed系统结构浅析
 
Tsung
Tsung Tsung
Tsung
 
Dutch php conference_apc_mem2010
Dutch php conference_apc_mem2010Dutch php conference_apc_mem2010
Dutch php conference_apc_mem2010
 
Dutch php conference_2010_opm
Dutch php conference_2010_opmDutch php conference_2010_opm
Dutch php conference_2010_opm
 
Yui3 初探
Yui3 初探Yui3 初探
Yui3 初探
 
大型应用软件架构的变迁
大型应用软件架构的变迁大型应用软件架构的变迁
大型应用软件架构的变迁
 
易趣
易趣易趣
易趣
 

杨皓 新浪博客前端架构分享