刚刚看见这篇“不用 IE 用什么”,说实在,这类的话见得实在很多了,本来无须专门拿出来说一番,但想想这种胡搅蛮缠的东西多了也有害风气,就简单说说我的看法。
浏览器的口水战,哪里都不缺,我偶尔也逛逛水木社区 (newsoftware 版)、mozcn 的论坛和 Maxthon 的论坛,再加上各个 blog 里看到的,从我个人的态度来说,有点重技术而轻说教的偏见,下面的议论也以此而发,请别见怪。
* 这第一层次是只知 IE,不知其他浏览器,这类人很多,不过一般还没能力参加口水战。
* 第二层次是用用 Maxthon、GoSurf 和 GreenBrowser 等 IE 内核的浏览器,或者下个 Firefox 装插件装得开心,第二层次的两类人均自觉得手上有了 Tab-Browsing、AdBlock、Mouse Gesture 等武器,比只知 IE 的猪头强了不少。
* 第三层次是知道 Maxthon 等等其实用的都是 IE 的内核,于是纷纷作义愤状,说用别人内核的东西还敢来分一杯羹说三道四?
* 第四层次是能随口扯出些论据的家伙,比如 Firefox 其实不安全啦、Firefox 有内存泄露啦、Firefox 速度慢啦等等。同一层次的还有一批以 Web 标准为幌子,侃侃而谈 IE 如何不标准,Firefox 如何符合标准,其实他本人多半未曾做过 Web 设计。
* 第五层次,做过点 Web 开发,也了解一些统计的结果,能够引用比较真实而权威的评测资料,进行讨论,这些人的话就比较可信了。
* 第六层次是我最为佩服的,能够亲自开发 Firefox 的扩展和补丁,或者亲自用 IE 的控件做过浏览器或者扩展开发的,以亲身经历,举出实际评测的例子,有理有节,即便我的看法与之不同,我也会很敬佩他。
口水战的主力军以三四层次者为多,他们说的东西造成的误解也最多,这里我不妨试着澄清一二:
用别人的内核就没有发言权吗?
首先,“内核”这个词,在这里指的是渲染引擎,而渲染引擎这个东西,虽然在浏览器软件中最为重要,但远非全部,比如说我们知道如下事实:
1. Firefox 用的渲染引擎是 Gecko,尽管 Firefox 是隶属于 Mozilla 组织的一个项目,算作官方开发的浏览器,但也有其他的软件,不是 Mozilla 组织 (或者其下属) 开发的,也用到了 Gecko 引擎,比如 GNOME 默认的浏览器 Epiphany,所见即所得的 Web 开发工具 Nvu 等。
2. Maxthon 等软件用的是 IE/Win 的渲染引擎 Trident,当然,纯粹的渲染引擎我们这些开发者是接触不到的,不像 Gecko 那样可以剥离出代码来,Microsoft 给 IE 作了 COM 的包装,提供了许多方便开发者的 API,但是,图形用户界面、程序配置等重要的功能,IE 的控件是没有提供的,Maxthon 等软件都是自己开发这些功能的。
3. 开发软件的图形用户界面很花时间,设计出简洁实用的界面也很不容易。
4. 软件开发中调用别人设计好的库相当普遍,比如 GTK+ 2.8 是基于 cairo 图形库的,cairo 的文本渲染又依赖于 FreeType 库,GTK+ 的文本布局要用到 pango 库,这些库在软件的开发中都发挥了重要作用,但没人会说那些软件作者本身的努力可以忽略不计。
描述上面的事实时,我努力避免“如果哪个不服气,自己做一个去”这样的话,但有的时候,的确是不亲力亲为无以了解软件开发的困难。
在此,我个人的一点希望是,这个 Blog 的读者尽量多做一些具体技术的讨论,少做传道式的宣传,浏览器不是扯皮扯出来的,是开发人员一行行代码写出来的,体谅这点,或许能让我们对 Web 的了解更进一步。