ITBear旗下自媒體矩陣:

Chrome隱含技術(shù)趣味 技術(shù)測評大揭迷

   時(shí)間:2008-09-11 17:48:25 來源:CCW編譯編輯:星輝 發(fā)表評論無障礙通道

谷歌新的Chrome瀏覽器提供了許多新技術(shù)。谷歌承認(rèn)應(yīng)該做一些事情趕上Web應(yīng)用程序目前發(fā)展的狀態(tài)。在閱讀了Chrome瀏覽器的說明文件和查看了 這個軟件的開源軟件代碼之后,業(yè)內(nèi)人士Jeff Cogswell提出了他發(fā)現(xiàn)的Chrome瀏覽器中一些有趣的技術(shù)方面的概況。

終于實(shí)現(xiàn)了多處理!

雖然Chrome瀏覽器沒有完全解決內(nèi)存尺寸問題,但是,它通過減少碎片來控制這個問題。在傳統(tǒng)的瀏覽器中,瀏覽器為一個線程分配一套虛擬內(nèi)存。當(dāng)然,每一個標(biāo)簽都占用這個總內(nèi)存集中的一個內(nèi)存塊。隨著你打開更多的標(biāo)簽,系統(tǒng)將分配更多的內(nèi)存。但是,在你關(guān)閉標(biāo)簽的時(shí)候,內(nèi)存沒有完全恢復(fù),不足以運(yùn)行未來的標(biāo)簽。你最終將遇到標(biāo)準(zhǔn)的內(nèi)存碎片問題。

但是,在Chrome瀏覽器中,每一個標(biāo)簽都有自己的線程。你沒有看錯,不是每一個Chrome的窗口,而是每一個標(biāo)簽。Cogswell說,我做了20多年的開發(fā)工作。我從來沒有看到一個窗口能夠托管多個線程。但是,Chrome瀏覽器確實(shí)做到了。

Cogswell說,如果我目前的標(biāo)簽上有一個網(wǎng)頁,我在地址欄輸入一個新的URL地址的時(shí)候,與那個網(wǎng)頁有關(guān)的 chrome.exe命令請求就關(guān)閉了,并且開始一個新的chrome.exe命令請求。這樣做是很完美的:不用輸入命令清除分配給已經(jīng)關(guān)閉的網(wǎng)頁的內(nèi) 存,Chrome瀏覽器將完全消除整個線程,然后開始一個新的線程。這是Chrome瀏覽器阻止內(nèi)存碎片以及保護(hù)和隔離每一個網(wǎng)頁的又一種方法。

更有趣的是在我裝載雅虎網(wǎng)站www.yahoo.com的時(shí)候發(fā)現(xiàn)了一個奇怪的現(xiàn)象。我看到啟動了兩個線程。但 是,對于谷歌搜索引擎www.google.com那種比較小的網(wǎng)頁,我僅看到了一個流程。當(dāng)我查看命令行的時(shí)候我發(fā)現(xiàn)原來輸入命令行參數(shù)設(shè)置了一個插 件。那是一個叫做插件路徑的額外的參數(shù),設(shè)置是c:\windows\system32\macromed\flash\npswf32.dll

那是Flash播放器。Chrome為嵌入在網(wǎng)頁的Flash播放器啟動了另一個線程。當(dāng)我在Chrome瀏覽器 中保持雅虎網(wǎng)頁處于打開狀態(tài)并且關(guān)閉分配給Flash播放器的線程的時(shí)候,Chrome在雅虎網(wǎng)頁上面顯示一個提示并且用一個Flash標(biāo)識取代了那個 Flash窗口,F(xiàn)lash標(biāo)識上面有一個失望的面孔。見圖1。

可以肯定的是雅虎的網(wǎng)頁仍然可以使用。換句話說,一個插件崩潰了不會造成瀏覽器崩潰。對于一次只喜歡打開少量標(biāo)簽的用戶來說,這是很好的。為了保證測試的完整性,測試人員關(guān)閉了雅虎網(wǎng)頁的線程。這一次,整個網(wǎng)頁都變黑了,并且網(wǎng)頁上有一個失望的表情和信息。見圖2

同時(shí),其它網(wǎng)頁仍在運(yùn)行。實(shí)際上,Chrome瀏覽器有自己的任務(wù)管理器。當(dāng)在Chrome瀏覽器中的時(shí)候,按下Shift+Esc鍵可以打開這個任務(wù)管理器。這個任務(wù)管理器甚至能夠讓你關(guān)閉Chrome瀏覽器中的線程。

渲染引擎

編寫瀏覽器軟件最困難的部分是渲染引擎。谷歌在這方面做出了正確的選擇。谷歌沒有重頭開始編寫渲染引擎,而是選擇成熟的和擁有許多優(yōu)秀功能的現(xiàn)有的開源軟件渲染引擎。谷歌選擇的是WebKit。有趣的是WebKit是由蘋果開發(fā)的。蘋果自己開發(fā)的這個渲染引擎作為其Safari瀏覽器的基礎(chǔ),然后開放了這個引擎的源代碼。現(xiàn)在,谷歌選擇了WebKit。

這就意味著谷歌Chrome瀏覽器的渲染引擎沒有瑕疵和速度問題。這個渲染引擎速度快并且很好用。測試人員還在chrome瀏覽器中直接打開了一個SVG(可縮放矢量圖形)文件,并且運(yùn)行得很好。這是很有趣的。因?yàn)榘ㄎ④浐虯dobe在內(nèi)的業(yè)內(nèi)各種力量都在排斥SVG,迫使許多人放棄了SVG的開發(fā)。很難說谷歌chrome瀏覽器會對SVG領(lǐng)域有什么影響。另外,許多人說chrome瀏覽器的SVG不支持動畫。這是一個主要缺陷。我們期待著谷歌解決這個問題。

桌面應(yīng)用程序

谷歌chrome瀏覽器支持一種形式的“桌面應(yīng)用程序”。當(dāng)你在一個網(wǎng)站上的時(shí)候,那就是一個Web應(yīng)用程序。你可以再桌面上存儲一個快捷方式以便打開那個網(wǎng)頁。

看看這個快捷方式,我可以看到這個啟動谷歌的方式,輸入一個地址作為一個“應(yīng)用程序”的參數(shù),像這樣:C:\Users\Jeff\AppData\Local\Google\Chrome\Application\chrome.exe

--app=http://mail.google.com/mail

JavaScript引擎: V8

Chrome瀏覽器支持新的名為V8的JavaScript引擎。V8是一個開源軟件項(xiàng)目,是谷歌在丹麥的一個開 發(fā)團(tuán)隊(duì)開發(fā)的。V8能夠把JavaScript匯編成本地的代碼。這些代碼能夠在虛擬機(jī)上運(yùn)行。這些虛擬機(jī)甚至能夠?qū)嵤﹥?yōu)化的垃圾搜集算法和進(jìn)行多線程的 處理。這遠(yuǎn)遠(yuǎn)超出了腳本語言的功能。這是一個全面的運(yùn)行時(shí)間。此外,V8還能夠利用名為JSCRE的第三方開源軟件庫。

為開發(fā)人員提供的JavaScript

測試人員稱,Chrome瀏覽器內(nèi)置了幾個很好的工具來幫助Web開發(fā)人員。對于入門者來說,Chrome包含了一個全面的JavaScript控制臺。見圖3

Chrome瀏覽器還有一個JavaScript調(diào)試程序。下面是這個調(diào)試程序的截屏圖像,見圖4

Google Gears插件

Google Gears是用于各種瀏覽器的一個插件,給網(wǎng)站提供隱私存出空間。例如,在過去,在線字處理程序的最大問題是文件存儲在服務(wù)器的某個地方。如果你使用筆記本電腦或者乘坐飛機(jī),你在有互聯(lián)網(wǎng)接入能力之前是不能訪問這些文件的。

Google Gears為這種Web應(yīng)用程序提供了本地存儲從能從而解決了這個問題。除了支持本地存儲之外,Google Gears還提供幫助Web開發(fā)的更多功能,如本地緩存文件等。

結(jié)論

Cogswell說,Chrome瀏覽器給他留下了深刻的印象。谷歌認(rèn)識到目前Web應(yīng)用程序的開發(fā)已經(jīng)超過了瀏覽器的技術(shù)水平。需要做一些事情趕上來。競爭的力量將迫使IE和火狐瀏覽器也這樣做。如果是這樣,我們將為來的一兩年里將從新的瀏覽器技術(shù)進(jìn)步中受益。

舉報(bào) 0 收藏 0 打賞 0評論 0
 
 
更多>同類資訊
全站最新
熱門內(nèi)容
網(wǎng)站首頁  |  關(guān)于我們  |  聯(lián)系方式  |  版權(quán)聲明  |  RSS訂閱  |  開放轉(zhuǎn)載  |  滾動資訊  |  爭議稿件處理  |  English Version