Chromium浏览器之渲染引擎Blink
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
?
Blink是谷歌公司的瀏覽器Chromium使用的渲染引擎。
Blink處于一個包容性的開源社區(qū)里,它歡迎任何人分享其使命。
Blink是在一種抽象的平臺上實(shí)現(xiàn)的, 因此本身不能運(yùn)行。?Chromium Content module提供這個抽象平臺運(yùn)行所需的Blink的實(shí)現(xiàn)。 Content模塊的開發(fā)有專門的文檔描述。有關(guān)調(diào)試Blink一些提示和建議,請參閱入門Blink調(diào)試頁面。
需要注意的是Blink的代碼必須符合Blink編碼風(fēng)格指南所規(guī)定的編碼風(fēng)格。
那么問題來了:我怎么把Blink移植到我的平臺?
Blink運(yùn)行在沙盒里面的一個抽象的平臺上,因此很少有操作系統(tǒng)的特定依賴。這種設(shè)計具有兩種后果:(1)Blink不能單獨(dú)運(yùn)行,并且(2)移植到其他平臺發(fā)生在不同的層。而不是添加特定于平臺的代碼,Blink,你應(yīng)該使用Chromium’s content layer,它提供了這個虛擬平臺上的多種操作系統(tǒng),包括Windows,Linux,Mac OS X的,和Android的實(shí)現(xiàn)。一個叫CEF的單獨(dú)的項(xiàng)目可能是你的平臺上使用Chromium(從而Blink)最簡單的方法。
?
Web平臺的變化:指南
除了使網(wǎng)絡(luò)平臺更快速,更安全,提高網(wǎng)絡(luò)平臺也意味著增加新的功能和刪除冗余代碼。為了實(shí)現(xiàn)我們的使命,我們需要在一個透明的,負(fù)責(zé)任的和兼容的方式中小心改變面向網(wǎng)絡(luò)的API。我們作為一個整體衡量作為向前推進(jìn)的開放式網(wǎng)絡(luò)平臺的成功與否,而不僅僅是移動一個實(shí)現(xiàn)。
在實(shí)踐中,Chromium社區(qū)努力確保Blink的交付在默認(rèn)情況下的特征滿足開放標(biāo)準(zhǔn)。作為我們工作的特點(diǎn),Blink跟蹤他們在Web標(biāo)準(zhǔn)社區(qū)的幾乎每一個進(jìn)步,它可以讓Blink成為透明的--每個功能的狀態(tài)和如何決定哪些功能,默認(rèn)滿足開放標(biāo)準(zhǔn)。
下面列出一些Blink正在考慮的其他變化:
讓W(xué)ebCore訪問多進(jìn)程的歷史(目前它假定同一進(jìn)程的同步訪問歷史)
刪除了Widget樹(在Mac WebKit1約束)
把WebCore分裂成模塊
實(shí)驗(yàn)與移動DOM到JS堆
增加多核使用(例如,HTML解析器,樣式引擎,JavaScript的解析器)
取出DOM的模糊部分,使向后兼容改變DOM晦澀的部分受益性能或消除復(fù)雜性。
用現(xiàn)代的,更快的tcmalloc在所有的Mac Chromium
實(shí)驗(yàn)增量或并行布局
現(xiàn)在,有且只有一個JavaScript引擎移除ScriptValue / ScriptState抽象修復(fù)內(nèi)存泄漏
刪除自定義JavaScript代碼綁定
帶來的WebCore加快速度與DOM3事件/ [DOM] UI事件。
?點(diǎn)擊打開鏈接?
關(guān)注微信公眾平臺:程序員互動聯(lián)盟(coder_online),你可以第一時間獲取原創(chuàng)技術(shù)文章,和(java/C/C++/Android/Windows/Linux)技術(shù)大牛做朋友,在線交流編程經(jīng)驗(yàn),獲取編程基礎(chǔ)知識,解決瀏覽器相關(guān)問題。程序員互動聯(lián)盟,開發(fā)人員自己的家。
- 上一篇C++ Primer快速學(xué)習(xí) 第一章 入門
轉(zhuǎn)載于:https://my.oschina.net/coderonline/blog/469014
總結(jié)
以上是生活随笔為你收集整理的Chromium浏览器之渲染引擎Blink的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: afinal
- 下一篇: HTML的数据 转成 JSON数据中的