蘋果最新瀏覽器引擎 WebKit2 初探
作者: its
|
發布: 2013/11/12 (上午 10:00)
|
閱讀: 1401
|
評論: 0
|
靜態地址
|
內容源碼
蘋果公司今天在其郵件列表中宣 布了他們的瀏覽器引擎 Webkit 的最新項目 Webkit2。Webkit2 的目標是實現獨立進程與非阻斷式API。基于 Webkit 的 Google Chrome 瀏覽器在 2008 年推出時就已經實現了獨立進程功能,該功能可以防止因某個網頁的崩潰而導致整個瀏覽器崩潰。
IE8 也有一個類似機制防止崩潰,而 Firefox 也正聯合 Electrolysis 展開同樣的開發。Mac 操作系統中的 Safari 4 則通過將 Flash 一類的插件放到單獨的進程防止崩潰,Webkit2 則直接將這種能力內置到渲染引擎中。
Webkit2 的另一個目標是實現非阻斷式 API,這意味著,開發者可以直接借助各種回調函數接收 Webkit 視圖的消息。
比如,在一個程序中,假如我需要加載一個網頁,我可以調用一個諸如 loadWebsite 的方法(只是舉例),將 URL 參數傳遞給這個方法,接著,給它一個 Callback 函數或一段代碼,在網頁加載完成 后執行。
通過這種方法,每當 Webkit2 執行完某個操作的時候,開發者都可以通過 Callback 函數及時同它交互,這樣,渲染引擎工作的時候,主進程可以繼續做自己的事,渲染引擎完成工作會通過 Callback 函數通知并執行你預設的代碼,讓你的程序反應更敏捷。目前,有三種技術可以幫助實現這一目標,消息式客戶 Callback,策略式客戶 Callback 以及客戶策略設置。還有第四方法,通過代碼注入直接同 DOM 溝通,但這一方法目前還沒有具體實施,蘋果公司的 Anders Carlsson 在該項目的主頁中對此做了詳 細闡述。
Webkit2 引擎最好的地方在于,任何基于 Webkit2 的產品都可以直接使用這些功能,而不必像 Google Chrome 那樣自己解決,開發者借助 Webkit2 可以輕松實現更穩定的產品,目前支持 Webkit2 的平臺包括 Windows 和 OS X,Linux 的支持尚提及。
|