關於瀏覽器的話題,以ie7.0和firefox2.0 的相繼發布,變成了一個引爆點.瀏覽器技術會朝什麼方向發展呢?在PC時代ie6成為了一個標準,但那已經是5年前的事情了.那麼在Web時代到來以後,瀏覽器將會怎麼發展呢?從IE7的發布我們可以得到哪些提示.圍繞這兩款瀏覽器的廣大的中國瀏覽器開發人員又會有哪些動作呢?我有幸找了IE核心瀏覽器開發人員張碩,他是國內很早一批引入多標籤技術IE外殼的程式員,也是國內知名IE外殼瀏覽器gosurf的核心技術人員.同時,他也將會推出自己多年“雕琢”而成的一款基於IE的瀏覽器。
(本文是交談過程節選,從中很有些體會。。。。)
作為中國較早基於IE 擴充研究的程式員。他是如何紮根於此並走出自己的一條路的,自然成為是我首先感興趣的話題。
張碩:大約是99年底,我就開始在IE上的編程,當時多視窗的瀏覽器還非常少,我也接觸Internet不久。當時用的是Delphi5.0,Delphi從3.0起就有了TWebBrowser的控制項,寫瀏覽器也是非常的快。當時我就想,為什麼不弄一個多視窗的瀏覽器呢?於是搗弄搗弄,就出了一個,取名為Multiple Internet Explorer,當然,只有前面我說到的基本介面提供的功能了,就是能同時開很多個視窗。於是投到一個程式員同盟網站,不料還得到5顆星,那可是我第一次往Internet上發程式啊。
張碩:不過很快發現網上也有很多人在弄瀏覽器開發,才感覺到自己懂的東西太少了。那時候我就常常在“大富翁論壇”上逛,大富翁論壇是國內人氣最旺的Delphi開發論壇,高手很多,我當時還是個入門級菜鳥。每天有空就上網,找資料,問問題,懂了之後又回答別人的問題。有個ID叫Hubdog的高手(後來《Delphi深度探索》的作者),對於IE的開發很是精通,我翻遍了他所有的文章,才知道除了IE瀏覽器的基本介面外,還可以操作裡面的HTML元素。收集了不少資料之後,我決定把自己懂的東西整理一下共用給大家,於是就有了那篇《TWebBrowser編程簡述》。瀏覽器的編寫呢,當然沒有丟下,當時最強的要數老外的NetCaptor,技術上領先很多。好多東西我們還在摸索呢,人家都做出來了。國內的瀏覽器,當時51357(我要上網去)和MyIE都做得不錯,而51357似乎技術上更勝一籌,連功能表項目的拖動都做了。我倒是一個100%的技術人員,一來寫瀏覽器主要是為了方便自己和那份滿足感。多視窗瀏覽器我前後共寫了6個版本,除了最簡單的第一個之外,後面的一個都沒有發表過。我決定該寫一個真正讓自己滿意的再推出去。一項技術沒有解決,我就挖空心思地要去解決它,而不是先推出一個版本,慢慢再改進。寫到一定的時候,懂得多了,又覺得之前的寫得不好,於是推倒重來;Delphi不夠用了,用VC又重新寫。所以後續的版本其實已經有一些新的idea,但是由於一方面我老是在細節上推敲。
在於張碩聊天中,他那種踏實,而又對技術癡迷的特質,還是深深的感染了我。作為一個時刻關注瀏覽器發展動向的人來說,新一輪瀏覽器大戰在即,他一定有很多自己的想法。
張碩:恩,所以我在想,我們的網路需求將不僅僅是瀏覽網上內容.還有更多的是使用網路服務.瀏覽器的角色將融入到豐富網路應用程式中作為服務作業環境。瀏覽器Web介面將變為通向豐富網路服務的入口。瀏覽器作為使用者訪問外面世界的視窗,其上有很多工作可以做,微軟也提供了這種擴充能力,但是一直一來似乎領會微軟意思的人並不多,人們只是把瀏覽器當作一個瀏覽器而已。我覺得網站和瀏覽器結合應該是有市場的。現在maxhon已經走出了第一步,它自己的網站就提供了專門訪問maxhon的指令碼,再往寬了看,這是可以提供服務的一個入口。其實微軟一直都有這種思想,比如Microsoft Money,Microsoft Encata,介面非常的fancy,就是基於IE核心的。事實上,微軟做個這個產品的時候已經想得非常深入,所以除了基本的功能外,還提供了從外部存取Browser內部的功能,同時也提供了從Browser內部訪問外部的功能。
看來由於網路時代的到來人們對於網路需求的轉變,對於瀏覽器的認識也要發生轉變。不要再把瀏覽器理解為瀏覽網上內容了,它與更多應用程式的結合應該更加被重視。而具體的IE7的發布,會對中國程式員開發帶來哪些影響呢?
張碩:IE7在增加了Tab瀏覽的基礎上,主要在安全性上有了提升,開發上不會也不應該有大的變化,就目前msdn提供的文檔來看,WebBrowser的基本事件就增加了兩個,一是用以獲得活動標籤變化的資訊,一是擷取Fishingfilter的資訊。WPF在Vista上的表現相當有吸引力,所以IE7有了其支援,渲染能力將有非常大的提高,當然,是在Vista的環境內。而對於國內更為有意義的是基於IE7的外殼開發方面。雖然,現在IE7已經整合了許多原來外殼的應用,但我相信微軟決不會斷掉第三方瀏覽器的後路,所以應該會有促進作用。比如:就我的使用經驗來說IE7外殼的tab瀏覽其實做得也不好,只不過是讓直接用IE的那些使用者有了一個多視窗的選擇。更多的功夫應該是在核心,因為核心提供了tab支援,所以目前整合IE6核心的方式在IE7上會有所變化。還有RSS Feed的支援,也可算個亮點。但除了tab瀏覽,其實IE7並沒有把太多其它外殼的特性整合到自己的外殼上,這也不應該是微軟的策略。對第三方瀏覽器的開發來說,我猜測(未做過測試)記憶體管理上也許會比現在的模式更好些,但是在有進一步的測試結果之前難以下結論。因為IE7外殼+核心本身的記憶體佔用目前看來從Beta到Final Release沒有什麼大的改進。
也正是上文提到瀏覽器這許許多多的變化,以及張碩多年來認真的對瀏覽器的研究,使它終於決定拿出自己一直來“雕琢”的一個瀏覽器。
張碩:IE呢,實際上還是使用者最多的,其特點毋庸置疑:清爽,簡潔明快,但是大有潛力可挖。對一般使用者來說,介面清爽很重要但是IE絕對是肚子裡有貨的,只要你願意挖,它有寶藏等著你,還有第三方的外掛程式,總之使用者的要求基本上總是有辦法滿足的。但是使用者對多視窗的需求使得IE的問題出現了,所以我們再說其它的瀏覽器。目前雖然國內有許多外殼瀏覽器,也有很不錯的比如maxhon、以及我參與的gosurf。但我還是有許多自己的想法。想在細節上下更多的功夫做一個自己的瀏覽器,另外我想算是為IE做點貢獻吧,一直一來,沒有一個很好地基於IE的瀏覽器,而IE的擴充能力雖強,成氣候的外掛程式竟然只有GoogleToolbar一個。反倒是Firefox把所有這些都做到了,不僅有Built-in的多視窗瀏覽器,而且捆綁發布一些常用的外掛程式,當然,還打著符合標準和安全的旗號。作為IE的擁躉,我有些感觸。
在交談中,張碩也透露了一下它的想法,確實很吸引人,但是處於保密考慮這裡先不提。適當的時候再告訴大家。
不能避免的我們還是談論到了網路安全,這個不容忽視的問題。而對於IE不安全的論調,一個多年從事IE擴充開發的程式員又是怎麼看的呢?
張碩:IE的安全性和Firefox其實不好比較,Firefox作為後來的東西,有前車之鑒,自然會有所顧及,但其實假如真有統計,我想可以看看到底有多少使用者因為IE的那些難以碰到的漏洞而受害的.而且,ie的使用者數量很大,即使一個小問題,也會被放的很大.但說起來對於使用者來說,真正擾人的其實就是兩點,一是ActiveX外掛程式,再就是廣告。這兩者在IE中並不是什麼大問題。而且在IE7種這方面也明顯有所加強。其實這方面的爭論根本沒有必要。
不知不覺中,我們的這次交流進行了快4個小時。再次感受到了透過一個小小瀏覽器,能看到一個大世界。許許多多像張碩這樣的充滿理想而又踏實實踐的程式員,撐起了中國軟體業的一片天。