最近這幾年,雲計算的普及和 HTML5 技術的快速發展,越來越多的應用轉向了瀏覽器 / 服務器(B/S)架構,這種改變讓瀏覽器的重要性與日俱增,視頻、音頻、遊戲幾大核心場景也都在逐漸往 Web 使用場景切換。可以說,在 PC 端,瀏覽器已經處於絕對的統治地位。
作爲開發工程師,理解瀏覽器是如何工作的,對我們做業務的技術選型、架構設計等都有非常重要的作用,讓我們可以準確評估 Web 開發項目的可行性,站在更高維度審視頁面,以及在快節奏的技術迭代中把握住問題的本質。
可是我發現,大部分前端工程師對瀏覽器的理解,其實並不深入透徹。比如,一道大家都熟悉的面試題:“在瀏覽器裏,從輸入 URL 到頁面展示中間發生了什麼?”
這道題涉及到網絡、操作系統、Web 等一系列的知識,如果你要開發流暢的頁面,或者診斷 Web 頁面中的性能問題,那你就需要了解 URL 是怎麼變成頁面的,只有弄懂這些之後,你纔可以站在全局的角度定位問題或者寫出高效的代碼。
瀏覽器確實會涉及很多概念,不僅繁多而且瑣碎,包括網絡、渲染、安全,以及大前端相關的大量概念。比如,首屏的顯示就涉及了 DNS、HTTP、DOM 解析、CSS 阻塞、JavaScript 阻塞等技術因素,其中一項沒處理好就可能導致整個頁面的延時。如果沒有系統的學習,很容易出現遺漏和盲點。
所以,一開始就得建立起來瀏覽器的宏觀視角,搭建起“瀏覽器知識大廈”的腳手架,這樣就可以把這些知識點串成線,連成網,最終形成自己的知識體系,練就像專家一樣思考問題、解決問題的能力。
剛開始研究這東西時,沒少在網上找資料。讓我覺得很有收穫的,是李兵寫的《瀏覽器工作原理與實踐》,老李是前盛大創新院高級研究員,現在是一名創業者,深耕瀏覽器和前端領域十多年,經驗很是豐富。
他的經歷也非常傳奇(下面詳細說),自然寫的專欄也是與衆不同,更具實操性。我現在也經常拿出來 2 刷,整體讀起來的感覺,就是通俗易懂,深入淺出,讓我把瀏覽器,把網絡、頁面渲染、JavaScript、瀏覽器安全、V8 原理等知識都串聯起來,對整個前端體系有了全新的認識。
而且圖文並茂的展現,比如下面是“線程之間共享進程中的數據示意圖”:
最重要的是,他把前端性能優化的底層邏輯能講明白講透徹,讓我再碰到一些奇怪的問題,不用一句一句地看代碼,很大程度提高了自我查找和解決問題的能力。現在有一萬多人學習,
馬上要漲價到
129 元了,建議先買後看。
秒殺 +
口令
「liulanqi8 」到手
¥69
僅限「
前 50 人
」有效,
即將漲至
¥129
說起李兵,是個傳奇人物。08年的時候,他就基於 Chromium 和 IE 發佈了一款雙核瀏覽器:太陽花。 這是國內第一款雙核瀏覽器 ,你在使用它的時候,除了能享受到Chrome的快捷之外,還能兼容只支持IE的站點。
開發過程中最大的挑戰是如何在 Chromium 中集成 IE 模塊,爲此花了大量時間來研究 Chromium 的進程架構以及渲染流程。可能現在你不覺得有多厲害,但在當時,這款瀏覽器,在沒有任何宣傳的情況下, 日活達到了20多萬。
之後李兵去了盛大創新院,參與研發WebOS項目, 基於WebKit內核打造一個能和安卓並存的操作系統。在團隊中負責 HTML5 特性的實現,比如實現 Web Workers、Application Cache、LocalStorage、IndexedDB、CSS3 部分動畫效果等。
後來,他又到了順網科技,和團隊打造了一款給 全國網吧使用的“F1瀏覽器”,日啓量達到2000萬。 大家都知道,網吧的電腦環境異常複雜,頁面劫持經常發生,再加上每天千萬級別的啓動量, 對頁面安全、加載速度和流暢度都有很高的要求。
可以說,這些經歷,讓李兵在瀏覽器的渲染流程、瀏覽器安全、頁面性能的優化等核心技術上,有獨到理解和獨家經驗。
學習前端最重要的是要理解瀏覽器的工作原理,畢竟我們寫的代碼最終是要被瀏覽器處理的,理解瀏覽器背後的原理可以幫我們更快速定位問題,找到問題的解決方案。瞭解瀏覽器是如何工作的,能夠讓你站在更高的角度去理解前端。
重要的事情,再說一遍:
秒殺 + 口令「 liulanqi8 」
到手僅 ¥69,即將漲至 ¥129
半價拿下,幫你到這了!
2 杯奶茶的錢,就能掌握前端知識本源,以不變應萬變,幾年後的你,會感謝自己今天的投資。
👇 點擊「閱讀原文」,記得用口令「 liulanqi8」到手僅半價 ¥ 69。
本文分享自微信公衆號 - 老孟Flutter(lao_meng_qd)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。