<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          漫畫 | 為什么中國沒有搞出瀏覽器引擎?

          共 2383字,需瀏覽 5分鐘

           ·

          2021-09-11 02:26


          注意,是瀏覽器引擎,不是瀏覽器!


          瀏覽器引擎主要有兩個功能,一個負(fù)責(zé)渲染/頁面布局,另外一個是執(zhí)行JavaScript。


          國內(nèi)搞出的瀏覽器挺多的,不過都是基于外國的開源引擎。 為什么沒有自主的,或者主導(dǎo)的開源引擎呢?


          回答這個問題之前,我們先看看瀏覽器引擎的發(fā)展歷史,答案就在其中。 



          1990年夏日的一天,陽光明媚,這對于寒冷的挪威來說,非常難得。


          兩個程序員走出辦公室,步入公園,坐在長凳上享受美好的陽光。


          他們倆正在用C++開發(fā)一個超聲波圖像程序,遇到了一個跨平臺的問題。



          這兩個程序員,一個叫做Haavard ,另外一個叫做Eirik , 他們計劃開發(fā)框架就是大名鼎鼎的QT 。


          經(jīng)過兩人幾年的辛苦努力,QT于1995年發(fā)布了第一個版本。


          作為一個跨平臺的GUI框架,QT深受C++程序員的歡迎,被廣泛地應(yīng)用在汽車、消費電子、醫(yī)療、娛樂和工業(yè)自動化等領(lǐng)域。


          Haavard 和Eirik 不失時機地成立了一個叫做Trolltech的公司,專門開發(fā)QT, 并且提供專家咨詢服務(wù)。


          讓我們把目光再轉(zhuǎn)向德國,1996年,一個德國大學(xué)生Matthias Ettrich在使用Unix桌面時候,覺得非常不爽。 



          他當(dāng)然不能從零開始開發(fā),一番調(diào)查研究之后,Matthias 發(fā)現(xiàn)了QT這個寶藏


          Trolltech公司的大力支持讓他下定決心采用QT來開發(fā)一個Unix的桌面:KDE


          也許是對QT太喜歡了, Matthias在1998年干脆加入了Trolltech公司。


          與此同時,Trolltech公司也有很多員工參與到了KDE的開發(fā)當(dāng)中,甚至成為領(lǐng)導(dǎo)者,Trolltech和KDE可真是一對好基友。


          在大西洋另一邊的美國,Web已經(jīng)成為最熱門的發(fā)展方向,風(fēng)起云涌,英雄輩出。


          網(wǎng)景率先推出Navigator,拔得頭籌。


          微軟不甘落后,搞出了Explorer。


          IE靠著和Windows捆綁策略,后來居上,統(tǒng)治了瀏覽器市場。



          KDE作為一個桌面環(huán)境,自然也不能落伍, 也開發(fā)了屬于自己的瀏覽器:Konqueror。


          Konqueror(其實是Conqueror,KDE的項目都以K開頭)  從名稱上看就野心勃勃



          Konqueror并沒有實現(xiàn)征服,因為Unix/Linux在桌面市場的占有率實在太低了。


          但是Konqueror的兩個重要組件:渲染引擎KHTML和JS引擎KJS卻在后來大放異彩。



          2001年,蘋果想為自家的Mac OS X開發(fā)一個瀏覽器, KHTMLKJS進(jìn)入了他們的視線。



          蘋果的開發(fā)人員對KHTML和KJS做了一個分支, 移植到了OS X上,改名為WebCore JavaScriptCore。


          2003年,喬布斯在Macworld Expo 上正式發(fā)布了瀏覽器Safari 和WebCore。



          但是KHTML團(tuán)隊和Apple團(tuán)隊之間的關(guān)系卻日趨緊張




          兩個團(tuán)隊分裂了,開始獨立發(fā)展。


          2005年,Apple 把WebCore和JavaScriptCore打包到Webkit中,作為一個開源軟件向公眾發(fā)布


          Webkit 是個優(yōu)秀的瀏覽器引擎, 小巧、靈活又十分強大。


          它率先實現(xiàn)了CSS3和HTML5的功能, 受到業(yè)界的喜愛, 圍繞著它有很多瀏覽器發(fā)展起來。



          Webkit的成功引起了Google的注意,作為一個互聯(lián)網(wǎng)領(lǐng)域的巨無霸,它也要占據(jù)流量的入口,實現(xiàn)自己的瀏覽器。



          不過,Google 對當(dāng)時的Web有著深刻的洞察力,它認(rèn)為Web和之前已經(jīng)完全不同了。




          這些在瀏覽器中運行的應(yīng)用程序基本上都是JavaScript來實現(xiàn)的,JavaScript引擎必須極為強勁才行。


          既然JavaScriptCore不能滿足需求,那就自己造一個吧!


          當(dāng)然,布局和渲染引擎還可以用Webkit 的WebCore。 



          2009年,搭載著WebCore和V8的Chrome問世了, Chrome界面簡潔、穩(wěn)定, V8引擎極為強勁,引發(fā)了下載的狂潮,并迅速成為了瀏覽器的霸主!


          此后,Google也fork了Webkit的源碼,并且花了大功夫梳理,使得使得可讀性更好,編譯效率更高,2013年形成了一個新的開源瀏覽器引擎Blink。


          這幾個瀏覽器引擎的關(guān)系是這樣的。




          再加上Firefox的Gecko , 三大瀏覽器引擎正式形成!



          當(dāng)然,我們不能忘了曾經(jīng)的瀏覽器霸主IE和它的引擎Trident



          終于可以回到文章開頭的問題了:為什么國內(nèi)的IT巨頭不搞出一個瀏覽器引擎呢?


          回顧這些瀏覽器引擎的發(fā)展歷史,它們幾乎都起源于90年代, 當(dāng)時國內(nèi)軟件業(yè)非常薄弱, 錯過了瀏覽器開發(fā)的這一波浪潮。


          隨著Web標(biāo)準(zhǔn)的不斷發(fā)展和完善,瀏覽器引擎也變得極為復(fù)雜,代碼量動輒就是千萬行級別,工作量巨大。


          瀏覽器引擎需要經(jīng)年累月的積累,沒法彎道超車。


          即使是強如Google、Apple 也都是站在別人的肩膀上,加上自己的創(chuàng)新, 慢慢發(fā)展起來的。


          國內(nèi)的互聯(lián)網(wǎng)巨頭又專注于商業(yè)模式,主要在應(yīng)用層折騰,對底層技術(shù)重視不夠。把別人的瀏覽器引擎拿過來,包裝一下,形成自己的瀏覽器,這是性價比最高的做法。


          但是,我們要提出一個問題:當(dāng)你用了別人的東西,是不是也要做出貢獻(xiàn)呢?有沒有可能自主創(chuàng)新后搞出自己的分支、然后占據(jù)主導(dǎo)地位呢? 


          往期推薦

          1、一條命令搭建私人網(wǎng)盤,太贊了

          2、Python 帶你高效創(chuàng)作短視頻

          3、我用 Selenium 爬了京東商城,結(jié)果……

          4、10 個“瘋狂”的 Python 項目創(chuàng)意

          5、利用Python去除圖片水印,太神奇了!

          今天因為您的點贊和在看,讓我元氣滿滿!

          瀏覽 42
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产钟合自拍 | 91精品国产99久久久久久红楼 | 4438成人网丁香五月五月天 | 黄色口逼视频网站 | 久久狠狠操 |