最近接二連三看到好幾篇譏諷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。多用戶環境下的插件管理。。。。。年輕人,開在我們有緣的份上,我決定賣這本<<如來神掌>>給你。。。什么?這本不合適啊?別急!還有很多本。。。。。。
說三道四的泡泡
posted on 2005-04-08 23:53
Brian Sun 閱讀(4521)
評論(25) 編輯 收藏 所屬分類:
軟件