注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

韩国恺的博客

hanguokai.com

 
 
 

日志

 
 

按条件发布Web应用新特性  

2011-12-07 15:19:21|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
上午看了一篇:Developing Gmail’s new look ,结合自己的理解整理出本文。

在互联网行业,Web应用需要不间断地随时发布和更新。
就像这句话所说:“changing tires on a moving car”,我们给行驶中的汽车换轮胎,而且这车上坐了成千上万的乘客!

Web软件和传统软件的发布管理很不一样。
线上代码的管理很麻烦,经常要修改、发布新代码,而频繁更新又容易产生问题。
项目中会有各种不相关(或相关)的修改,比如有的是修复bug,有的开发新特性。而分支的管理、合并又很麻烦。
只维护一个主干最简单,但是一部分代码修改之后要发布,而另一部分修改还没完成怎么办?

conditional features
我们通常的做法是“部署即发布”。
而条件特性是:部署修改的代码,但是不执行它,何时执行由条件标志决定。

可以理解为在新代码前后有一些 if 语句的条件判断。条件标志是打开状态才执行,这些标志在部署的代码之外管理
标志可以通过各种形式设置,比如:
  • 所有用户的百分比(如果我们想逐步发布新功能)
  • 只对内部人员发布
  • 个别少数用户(如热情的粉丝)
总之,条件开关使得我们可以分离产品(代码)更新和发布新特性。
开发人员可以修改代码,而不用担心未完成的代码在没准备好之前的发布问题。
同时,如果新特性准备好了,可以先发布给部分人,先看看别人的反应。


Javascript mods
我们希望保持下载的 JS 体积越小越好。所以不想下载所有代码,而是只和这个浏览器相关的代码。
Gmail mobile app就是个例子,它有各种形式:智能手机UI、平板UI、离线UI。所有这些UI都有些许不同。
我们不想让用户下载所有这些不同 UI 的代码。相反,我们在server端检查你使用的浏览器或设备,然后只生成你需要的JS。
mods的选择是根据浏览器、设备、或前面的条件特性等。

  评论这张
 
阅读(532)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018