看到
这篇blog有回复说:"这种升级方式多的去了,只是你头一回发现罢了。",颇为不以为然。既然认为多了去了,不妨举出点例子,我不以为然,就在这里先写出来我的观点吧。
在web应用大行其道的时候,讨论自动升级似乎有点搞笑,不过,google确实带来了一些新的意义,所以,还说要说说的。对于错误的观点,还是要批驳的。
首先,从讲历史开始。
自动升级,来源于unix的patch,也就是说,用某种脚本来打补丁,修正错误,增加功能等等。
第一个patch程序由Larry Wall所作(perl用户都应该知道这哥们吧),并发布于comp.sources.unix,当时还叫做mod.sources。那时候是1985年5月。
这个升级脚本可以在
这里看到
在此之前,升级只能通过一个长的变态的文本文件进行,用户要拿着这个文件,先改这里,再改那里,然后改那里,搞不好就要出麻烦。升级脚本出现后,大大降低了这种全人工的工作难度,从此一发而不可收,越来越盛行,不过后面用perl写的脚本越来越少,用makefile搞的东西反而越来越多。通过internet升级这种方式,这就是始祖。
同时,随着windows的流行,另一种方式也出现了,这就是把升级过的文件打包,做成一个安装程序,供用户下载,安装(unix都是用代码编译,或使用脚本修改配置文件的升级方法,没必要提供编译好的程序,安装程序这个东西更是win的特色产品,这又是一个话题,将来再论。)
最先采用这种安装包升级方式的,是游戏。在那个年代,windows上面的程序是基本不升级的。升级的意思就是你需要花钱买一份新版本的。而游戏不一样,游戏经常要调整一些参数,所以只好提供升级包了。那个游戏最先采用的,似乎是不可考据了。总之是游戏用得最多就是了。随后,网络年代,网络游戏也开始用。
客观来说,提供自动升级的应用就很少,除去游戏,除去unix的常规patch工作,请问还能列出来多少个具有自动升级功能的程序?凤毛麟角。不管是开源的,不开源的,自由的,不自由的,大部分应用程序根本没有频繁升级的需要,自然也就用不着费这个事情。前面说过,对于他们,升级的意思就是又赚了一笔。
网络发展越来越快,终于,windows发现只靠每年固定发行那么1,2个sp包和powertool是不行了,网络升级也成为了日常工作,微软的升级方式从人工去选择win update,选择一堆升级的组件安装,到了现在会自动提示有多少组件需要升级,虽然前进了不少,但是,需要用户确认至少一次这个原则,决不会变。
gtalk的升级方式颇具有颠覆性,根本不告诉用户下载,根本不告诉用户升级。这样的做法,把gtalk和服务器彻底连在了一起。
对于gtalk的升级,形式上已经很像网站升级,那个网站会提示用户“本站即将升级,请您按确定进行下一步,或按取消暂时不升级”呢?gtalk是一个依赖于网络的程序,他更像是网站的扩展,而并非一个单独的客户端软件。除了gtalk,历数从1985年第一个patch脚本至今,还没有应用程序敢于做到不提示用户就进行下载和升级。哦,对不起,也不是完全没有,比如说3721就是如此,可惜都是臭名昭著的。
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=562734