我为Firefox正名

最近接二连三看到好几篇讥讽Firefox的文章,文章的作者大都是拿出现在几款流行的浏览器软件相互比较一番,然后得出“Firefox无论性能还是功能都不够好”的结论,然后再说Firefox社区的网民都TMD“不够冷静”,国内国外都像炒股票似的把这个原本“不怎么样”的产品抄的沸沸扬扬,如此如此,这般这般,我真的实在是受不了了,是到了我们这些人出来为Firefox正名的时候了!

首先,我们从Firefox的来出看,Firefox是由Mozilla基金会开发的轻磅浏览器,在此之前,Mozilla已经有很多浏览器了, Mozilla Suite,Netscape都是Mozilla开发的浏览器。那么在这种情况下Mozilla为什么还要做这样一个浏览器呢?我给出的答案包括两个部分:有效性和必然性。有效性参看我的另一篇Blog[]。必然性则是因为Mozilla 迫切需要一个平台来展示他的思想、理念,并告诫正在以网页为经营手段的人们标准化的重要性!请永远记住下面这个等式:

开源软件基金会 = 软件界的传道者

他们做这些事情根本就是无利可图,只能依靠别人的捐助作为开发软件的成本。比如Firefox在刚刚上市放出beta的时候,为了扩大影响力, Mozilla决定登一则广告,于是四处筹集资金,最终从数千家赞助商那里筹集了25万美元的资金,并于2004年12月中旬在The New York Times上打了两个全版广告!你想想啊,数千家软件企业的期望,就为了这两个页面的广告如果说句不好听的话这两页纸会被多少人在上厕所的时候阅读然后索性用来擦屁股完全可以通过广告业的市调公司通过概率算出来!这是为了什么?我记得自己刚刚上网的时候就有人告诉我网络上什么人都有,但至少可以分为四种:商人、教父、狂热者和迷途青年。微软是彻彻底底的第一种人,Mozilla、Eclipse、Apache、JCP都是第二种,Maxthon是第三种,幸好这个世界还有传道者们的存在,否则我们都会变成第四种人,只会跟着商人和狂热者们走路。

是的,Mozilla正是要通过Firefox教诲我们他的圣经。有些人认为Firefox就是一个使用Gecko的Maxthon,我想说这些人大错特错,根本没有理解Firefox。引擎的不同是小事,遵从于标准才是正道。MSIE使用了大量的“专有技术”,使得别人针对MSIE开发的网站在标准化(一般指W3C标准)的浏览器上不能正常显示。也许有人会问,这个很重要吗?既然现在MSIE的用户数量如此庞大,那我们针对MSIE开发自己的网站又有什么错呢?答案是很重要!有错!我举个简单的例子,我们比较一下两个互为竞争对手的网站:IBM和Dell,他们都卖个人电脑,Dell的网站只能在 MSIE上正常显示,IBM的网站无论哪个浏览器都可以,这说明IBM遵循的是行业标准,而Dell使用的是微软特性。然后我们再看看他们两家公司的产品:IBM的电脑,捆绑什么操作系统的都有;而Dell的个人电脑,全部捆绑的是Microsoft Windows!还用我再解释吗?

有人认为Firefox占用太大内存了,我想问问他有没有用过Java,感受如何?Firefox占内存不是Firefox的问题,而恰恰在于操作系统 Windows的不合理性。Firefox的存在就有一个很重要的任务那就是跨平台,Firefox要用底层代码实现一个平台无关性体系结构,既是为了传道,更是为了那些从开源软件中收益的人们。有人认为Firefox结构太复杂,我想问问他有看过xpi文件的结构吗?xpi文件就是一个zip包!这一点又是Firefox从Java世界学来的,这还能叫复杂吗?比dll文件还复杂吗?Firefox还有比Java更绝的——允许插件使用COM!并且能在非Windows平台上虚拟出一个COM服务,这使得为Firefox编写插件变得更为简单,和可移植。如果Google为MSIE写了一个插件,那么他把这个插件移植到Firefox上的工作量只占10%。

有人认为Firefox功能太少,天哪,你不知道自己下插件啊!Firefox从一开始就没有把Maxthon作为自己的竞争对手,你知道是为什么吗?因为Maxthon在增强用户体验方面确实做的很好,而“Maxthon不足的地方不是Maxthon本身的问题,仅仅来源与它使用的是IE内核,所以 Maxthon会有很多安全性和稳定性方面的问题”。Firefox的对手是MSIE,为了更好的和对手较量,Firefox把增强用户体验的工作也交给了第三方插件开发商,毕竟Mozilla没有多少人手啊。Firefox所实现的都是不得不实现的,这恰是现代成熟的软件开发方法论所要教诲我们的。你看看:多页签是能力问题,换皮肤是架构问题,搜索条是易用性问题,DOM是规范化问题,JavaScript和XUL描述界面是平台无关性问题,XPCOM 是平滑迁移问题,而RSS则又是另外一个标准问题!哪一项是还可以从Firefox中剥离出去的?

至于插件吗,Firefox的主管说的很好,他说Firefox面世后只用了两个月的时间就获得了Maxthon花两年时间都没有的插件数量,这还不能说明问题吗?最近拜读了一位ACM老牛人写的关于插件服务的文章,其中提到良好的插件服务有两类,一类适用于单用户环境下大幅度提升可伸缩性,这种架构的完美实现就是Eclipse,另一类适用于多用户环境下大幅度提升安全性、稳定性和一致性,这种架构的完美实现就是Firefox。Firefox率先使用 RDF来描述插件,使用jar文件来打包资源描述,使用“中间定义语言”IDL来描述公共的COM接口,这些都是其它软件体系结构所没有的,也是大量软件架构师敢想而不敢做的!

最后一个问题就是Firefox不仅仅是个浏览器,还是一个RIA,就像Eclipse不仅是个IDE,还是个Platform一样。可以参考我的另一篇 Blog[](我今天怎么老是做广告啊),以后我还打算写更多关于RIA的文章。

在批驳了这些人的文章之后,让我们再来看看Firefox究竟是个怎样的产品。下面我仅仅列出我所看到的Firefox的优点,至于这些优点是否会让您迁移到Firefox平台,我并不奢求,这是您的价值取舍问题。

1。标准化。

2。简洁化,最小内核化。

3。平台无关性。

4。安全型RIA。

5。多用户环境下的插件管理。

。。。。年轻人,开在我们有缘的份上,我决定卖这本<<如来神掌>>给你。。。什么?这本不合适啊?别急!还有很多本。。。。。。


文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
评论: 0 | 引用: 112 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.