眾多外殼瀏覽器的內核都止步在 Chromium 32?

jopen 10年前發布 | 6K 次閱讀 瀏覽器

至發文日(2014年05月11日),Google Chrome官方穩定版是34.0.1847.131,此版本發布于2014年04月25日,預計2周內,35的穩定版也將發布。縱觀國內Chrome系 的瀏覽器產品,內核版本基本都停留在Chromium 32以下,參見下列內核版本列表(整理日期2014-05-11)。這是什么原因呢?

瀏覽器(正式版)------發布時間--------Chromium內核版本

世界之窗瀏覽器 6.2----2014年04月18日--31.0.1650.63

UC瀏覽器 1.0beta------2014年04月10日--32.0.1700.107

360安全瀏覽器 6.3-----2014年02月24日--21.0.1180.89

傲游瀏覽器 4.3--------2014年02月24日--30.0.1599.101

360極速瀏覽器 7.5-----2014年02月21日--30.0.1599.101

搜狗瀏覽器 4.2--------2014年02月21日--28.0.1500.95

獵豹瀏覽器 正式版4.5--2014年02月13日--29.0.1547.66

百度瀏覽器 6.1--------2014年01月24日--26.0.1410.43

楓樹瀏覽器 2.0.9.20---2013年08月29日--27.0.1453.110

Chrome 32正式版是在2014年01月16日發布的,至今已經接近四個月,按照以前的經驗,國內瀏覽器廠商一般都會在30天內跟進到新的內核,這次對于32版本 的內核,跟進速度已經明顯落后于以往,這是什么原因呢?是Chrome32版本有什么嚴重問題,還是國內廠商厭倦了Chrome內核的跟進,抑或是其他什 么技術原因導致的這種延遲呢?下面逐條分析上述可能性:

1. Chrome 32版本有嚴重問題?

Google Chrome官方正式版發布從32、33至目前的34,歷時已經三個多月。從Chromium社區的反饋上來看,性能、安全性上的進步都是很大的。 Chrome 32加強了對未知來源擴展的安裝的限制,Chrome 33提高了對插件執行的驗證門檻,這些改動,都進一步增強了安全性;Chrome 34優化了界面圖形引擎,提高了軟件交互性能。

從這個分析來看,Chrome32出現嚴重問題,被國內廠商集體“嫌棄”的可能性不大,并且 Google作為一家全球領先的科技公司,其開發流程是非常嚴謹的,一個版本從進入開發分支到發布,中間會經歷至少3-4個月的迭代期(也就是 Chrome 30的正式版發布前,32版本已經進入開發分支),期間每次Build還會自動執行大量的Unit Tests,可以說,一個正式發布的版本出現大問題的可能行是很小的。

這樣看來,因為Chrome 32有問題而導致國內瀏覽器廠商不跟進內核的可能是不存在的。

2. 國內廠商厭倦了Chrome內核的跟進?

如 今,國內的瀏覽器產品競爭進入平淡期,看似大家的份額各執一塊,不相侵犯;是否國內廠商安于現狀,開始吃老本呢?在我看來,這種可能是很小的,國內科技公 司的老板們見慣了風生水起、三十年河東三十年河西,是非常具有憂患意識的,瀏覽器作為桌面三駕馬車的重要一員,其渠道優勢及變現優勢都是很大的,哪個思維 正常的老板都應該是非常重視的。據某瀏覽器業內負責運營的朋友透露,實際上互聯網瀏覽器的競爭今天仍然是異常激烈的,只不過形態更加趨于成熟,讓互聯網用 戶不那么容易感覺到競爭的存在;在這種競爭態勢下,很難想到有什么理由讓廠商們“厭倦”參與競爭,這種可能性的猜測看來也是不成立的。

3. 什么技術原因導致的這種延遲呢?

分 析這一點,要有對瀏覽器架構熟悉的工程師來參與才可以完成。最直接的手段就是對比Chromium 31與Chromium 32兩個版本的技術架構。經過七星瀏覽器架構師對這兩個版本的分析,發現Chromium 32相對于Chromium 31,最大的架構上的變化應該是全面啟用了Aura引擎。

Aura 是 Google2011年6月份的時候推出的適用于 Chrome 和 Chrome OS 的新一代窗口管理器,將會是 Chrome 發展的下一個里程碑。它被定位在 Chrome 的新的加速用戶界面框架,旨在提供更豐富的視覺效果,大型動畫過渡和其他只能由硬件加速產生的效果。現在的 Aura UI要集中考慮實現硬件平臺的兼容性。有趣的是 Mozilla采用了類似的做法,他們將在其瀏覽器未來版本中刪除 GTK,這體現出瀏覽器發展的一種趨勢。

Aura引擎會對瀏覽器廠商的開發有什么影響呢?粗略分析大概有以下幾點:

a. 新的桌面窗口結構,需要廠商全部重新調整應用程序頂端架構;

b. 國內廠商大多是雙核瀏覽器,Aura引擎的介入,使得雙核在協調上出現障礙;

c. 國內廠商加入太多自制的交互元素,這些交互元素需要針對Aura引擎重新設計開發;

有 過軟件項目經驗的朋友應該能從上述三點看出這個Aura引擎,對第三方瀏覽器的開發造成了多大的麻煩,上述三點的工作量估計,沒有幾個月至半年是不夠的, 并且前提是要有對架構把握很好的技術人員來操作。其實Google在很早就開始對Chromium使用Aura,只是一直處于小范圍功能的嘗試,這次 Chromium 32全面啟用Aura引擎,從Google方面來說,并不是什么意料之外的事情。

在此看來,國內的廠商應該是正在突破這個技術難題,只是需要一些時間,預計過幾個月之后,各廠商會相繼推出基于Chromium 32內核的升級產品。

為了讓大家能夠更直觀的感受傳統架構與Aura架構的區別,分別針對國內幾款主流雙核瀏覽器,借助Spy++開發工具,展示了采用Chromium 32之前內核的瀏覽器與Chromium 32及以后內核的瀏覽器的特征:

Google Chrome 34:

眾多外殼瀏覽器的內核都止步在 Chromium 32?

Google Chrome 31:

眾多外殼瀏覽器的內核都止步在 Chromium 32?

360極速瀏覽器:

眾多外殼瀏覽器的內核都止步在 Chromium 32?

獵豹瀏覽器:

眾多外殼瀏覽器的內核都止步在 Chromium 32?

世界之窗瀏覽器6.2:

眾多外殼瀏覽器的內核都止步在 Chromium 32?

UC瀏覽器:

眾多外殼瀏覽器的內核都止步在 Chromium 32?

傲游瀏覽器:

眾多外殼瀏覽器的內核都止步在 Chromium 32?

搜狗瀏覽器:

眾多外殼瀏覽器的內核都止步在 Chromium 32?

從 上述截圖看出,采用Aura架構的Google Chrome 34窗口結構更加簡單,沒有了原來的多層嵌套結構,這就符合了Aura技術層面的特性:界面元素的渲染,都有Aura引擎接管,而不是雜揉更多操作系統相 關的實現。這一點可以看出,Chrome未來會更好的支持跨平臺。

有人會問,UC宣稱自己的內核是基于Chromium 32的,為何上面的截圖顯示仍是舊的架構呢?七星瀏覽器的架構師給出的解釋是,Google Chrome 32 時雖然全面啟用了Aura架構,但是在Chromium開源項目的代碼中,在32版本時,仍然保留著舊架構的代碼,開發者可以通過編譯選項選擇不啟用 Aura,這樣就很容易將內核升級到Chromium 32;但是這樣的內核升級有一些問題,比如Google不保證繼續維護非Aura引擎的代碼,這樣非Aura引擎中的代碼的Bug或者漏洞,就不會有人去 解決,風險是很大的。

比如在UC瀏覽器地址欄輸入chrome://gpu并回車,所顯示的頁面中,很多圖形優化特性都失效了,這可能就是不啟用Aura的損失。這種沒有與Google Chrome保持一致的升級方式,是否能算作真正的Chromium 32內核,就仁者見仁、智者見智了。

對于普通Chrome瀏覽器用戶,還有一種最直觀區分傳統引擎與Aura引擎的方法,是觀察頁面里的滾動條,傳統引擎的頁面滾動條是Windows系統樣式的,而Aura引擎的滾動條是灰色平面樣式的。Chrome 31/32/34滾動條樣式:

眾多外殼瀏覽器的內核都止步在 Chromium 32?    眾多外殼瀏覽器的內核都止步在 Chromium 32?    眾多外殼瀏覽器的內核都止步在 Chromium 32?

最后也展示一下七星瀏覽器的Spy++截圖,使用的是七星瀏覽器正式版1.34.1正式版。從截圖可看出,七星瀏覽器確實啟用了Aura引擎。

眾多外殼瀏覽器的內核都止步在 Chromium 32?

Aura還有很多其他的特性,是關于跨平臺和Chrome OS方面的,就不再探討了。七星瀏覽器架構師真心希望大家都可以早日體驗Aura架構的雙核瀏覽器,所帶來的快速和高性能。

七星工作室原創,歡迎轉載并請注明出自七星論壇http://bbs.qixing123.com/thread-297-1-1.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!