資源描述:
《Chrome源碼剖析》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在工程資料-天天文庫。
1、Chrome源碼剖析序?開源是口好東西,它讓這個充斥著大量工業(yè)垃圾代碼和教材玩具代碼的行業(yè),多了一些藝術氣息和美的潛質。它使得每個人,無論你來自米國紐約還是中國鐵嶺,都有機會站在巨人的肩膀上,如果不能,至少也可以抱一把大腿。?!,F(xiàn)在我就是來抱大腿的,這條粗腿隸屬于Chrome(開源項目名稱其實是Chromium,本來Chrome這個名字就夠晦澀了,沒想到它的本名還更上一層樓...),Google那充滿狼子野心的瀏覽器。每一個含著金勺子出生的人都免不了被仰慕并被唾罵,Chrome也不例外。關于Chrome的優(yōu)劣好壞討論的太多了,基本已經(jīng)被嚼成甘
2、蔗渣了,沒有人愿意再多張一口了。俗話說,內(nèi)行看門道外行看熱鬧,大部分所謂的外行,是通過使用的真實感受來評定優(yōu)劣的,這無疑是最好的方式。但偏偏還是有自詡的內(nèi)行,喜歡說內(nèi)行話辦外行事,一看到Chrome用到多進程就說垃圾廢物肯定低能。拜托,大家都是搞技術的,你知道多進程的缺點,Google也知道,他們不是政客,除了搞個噱頭扯個蛋就一無所知了,人家也是有臉有皮的,寫一坨屎一樣的開源代碼放出來遭世人恥笑難道會很開心?所謂技術的優(yōu)劣,是不能一概而論的,同樣的技術在不同場合不同環(huán)境不同代碼實現(xiàn)下,效果是有所不同的。既然Chrome用了很多看上去不是很美的
3、技術,我們是不是也需要了解一下它為什么要用,怎么用的,然后再開口說話?(恕不邀請,請自行對號入座...)。。。人說是騾子是馬拉出來遛遛,Google已經(jīng)把Chrome這匹驢子拉到了世人面前,大家可以隨意的遛。我們一直自詡是搞科學的,就是在努力和所謂的藝術家拉開,人搞超女評委的,可以隨意塞著屁眼用嘴放屁,楞把李天王說是李天后,你也只能說他是藝術品位獨特。你要搞科學就不行,說的不對,輕的叫無知,重的叫學術欺詐,結果一片慘淡。所以,既然代碼都有了,再說話,就只能當點心注點意了,先看,再說。。。我已經(jīng)開始遛Chrome這頭驢了,確切一點,是頭壯碩的肥
4、驢,項目總大小接近2G。這樣的龐然大物要從頭到腳每個毛孔的大量一遍,那估計不咽氣也要吐血的,咱又不是做Codereview,不需要如此拼命。每一個好的開源項目,都像是一個美女,這世界沒有十全十美的美女,自然也不會有樣樣杰出的開源項目。每個美女都有那么一兩點讓你最心動不已或者倍感神秘的,你會把大部分的注意力都放在上面細細品味,看開源,也是一樣。Chrome對我來說,有吸引力的地方在于(排名分先后...):1.它是如何利用多進程(其實也會有多線程一起)做并發(fā)的,又是如何解決多進程間的一些問題的,比如進程間通信,進程的開銷;2.做為一個后來者,它的
5、擴展能力如何,如何去權衡對原有插件的兼容,提供怎么樣的一個插件模型;3.它的整體框架是怎樣,有沒有很NB的架構思想;4.它如何實現(xiàn)跨平臺的UI控件系統(tǒng);5.傳說中的V8,為啥那么快。但Chrome是一個跨平臺的瀏覽器,其Linux和Mac版本正在開發(fā)過程中,所以我把所有的眼光都放在了windows版本中,所有的代碼剖析都是基于windows版本的。話說,我本是瀏覽器新手、winapi白癡以及并發(fā)處理的火星人,為了我的好奇投身到這個溜驢的行業(yè)中來,難免有學的不到位看的走眼的時候,各位看官手下超生,有錯誤請指正,實在看不下去,回家自己牽著遛吧。。
6、。扯淡實在是個體力活,所以后面我會少扯淡多說問題。。。關于Chrome的源碼下載和環(huán)境配置,大家看這里(windows版本),只想強調(diào)一點,一定要嚴格按照說明來配置環(huán)境,特別是vs2005的補丁和windowsSDK的安裝,否則肯定是編譯不過的。。。最后,寫這部分唯一不是廢話的內(nèi)容,請記住以下這幅圖,這是Chrome最精華的一個縮影,如果你還有空,一定要去這里進行閱讀,其中重中之重是這一篇。。。隨著Web瀏覽器重要性的日益突出,惡意軟件、木馬、間諜軟件等網(wǎng)絡攻擊也呈現(xiàn)逐漸的上升。而面對如此眾多的潛在威脅,為了確保用戶的安全性和穩(wěn)定性,瀏覽器不
7、得不改進瀏覽器的性能,其中之一就是向用戶提供多進程瀏覽。在瀏覽器中添加多進程瀏覽功能之后,即使是瀏覽器其中的一個進程出現(xiàn)了崩潰現(xiàn)象,其他的進程也不會受到影響。例如,如果一個網(wǎng)站中有漏洞或包含惡意代碼,它就有可能摧毀當前運行在這個網(wǎng)站上的標簽,但是它卻不會影響其他的進程或整個瀏覽器。??據(jù)國外媒體報道,隨著時代的進步,互聯(lián)網(wǎng)已經(jīng)成為人們生活的重要組成部分,而Web瀏覽器也理所應當?shù)爻蔀橛嬎銠C等設備中最為重要的軟件。? 不過,隨著Web瀏覽器重要性的日益突出,惡意軟件、木馬、間諜軟件等網(wǎng)絡攻擊也呈現(xiàn)逐漸的上升。而面對如此眾多的潛在威脅,為了確保
8、用戶的安全性和穩(wěn)定性,瀏覽器不得不改進瀏覽器的性能,其中之一就是向用戶提供多進程瀏覽。? 在瀏覽器中添加多進程瀏覽功能之后,即使是瀏覽器其中的一個進程出現(xiàn)了崩潰現(xiàn)