扎根IE開發擁有自己理想的程式設計師 張碩

2021-04-16 18:27:03 字數 3328 閱讀 4719

關於瀏覽器的話題,以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的擴充套件能力雖強,成氣候的外掛程式竟然只有google*******乙個。反倒是firefox把所有這些都做到了,不僅有built-in的多視窗瀏覽器,而且**發布一些常用的外掛程式,當然,還打著符合標準和安全的旗號。作為ie的擁躉,我有些感觸。

在交談中,張碩也透露了一下它的想法,確實很吸引人,但是處於保密考慮這裡先不提。適當的時候再告訴大家。

不能避免的我們還是談論到了網路安全,這個不容忽視的問題。而對於ie不安全的論調,乙個多年從事ie擴充套件開發的程式設計師又是怎麼看的呢?

張碩:ie的安全性和firefox其實不好比較,firefox作為後來的東西,有前車之鑑,自然會有所顧及,但其實假如真有統計,我想可以看看到底有多少使用者因為ie的那些難以碰到的漏洞而受害的.而且,ie的使用者數量很大,即使乙個小問題,也會被放的很大.但說起來對於使用者來說,真正擾人的其實就是兩點,一是activex外掛程式,再就是廣告。這兩者在ie中並不是什麼大問題。而且在ie7種這方面也明顯有所加強。其實這方面的爭論根本沒有必要。

不知不覺中,我們的這次交流進行了快4個小時。再次感受到了透過乙個小小瀏覽器,能看到乙個大世界。許許多多像張碩這樣的充滿理想而又踏實實踐的程式設計師,撐起了中國軟體業的一片天。

扎根IE開發擁有自己理想的程式設計師 張碩

關於瀏覽器的話題,以ie7.0和firefox2.0 的相繼發布,變成了乙個引爆點 瀏覽器技術會朝什麼方向發展呢?在 時代ie6成為了乙個標準,但那已經是 年前的事情了 那麼在web時代到來以後,瀏覽器將會怎麼發展呢?從 的發布我們可以得到哪些提示 圍繞這兩款瀏覽器的廣大的中國瀏覽器開發者又會有哪些...

扎根IE開發擁有自己理想的程式設計師 張碩

關於瀏覽器的話題,以ie7.0和firefox2.0 的相繼發布,變成了乙個引爆點 瀏覽器技術會朝什麼方向發展呢?在 時代ie6成為了乙個標準,但那已經是 年前的事情了 那麼在web時代到來以後,瀏覽器將會怎麼發展呢?從 的發布我們可以得到哪些提示 圍繞這兩款瀏覽器的廣大的中國瀏覽器開發者又會有哪些...

扎根IE開發擁有自己理想的程式設計師 張碩

關於瀏覽器的話題,以ie7.0和firefox2.0 的相繼發布,變成了乙個引爆點 瀏覽器技術會朝什麼方向發展呢?在 時代ie6成為了乙個標準,但那已經是 年前的事情了 那麼在web時代到來以後,瀏覽器將會怎麼發展呢?從 的發布我們可以得到哪些提示 圍繞這兩款瀏覽器的廣大的中國瀏覽器開發者又會有哪些...