漫畫?|?為什么中國沒有搞出瀏覽器引擎?
注意,是瀏覽器引擎,不是瀏覽器!
瀏覽器引擎主要有兩個(gè)功能,一個(gè)負(fù)責(zé)渲染/頁面布局,另外一個(gè)是執(zhí)行JavaScript。
國內(nèi)搞出的瀏覽器挺多的,不過都是基于外國的開源引擎。?為什么沒有自主的,或者主導(dǎo)的開源引擎呢?
回答這個(gè)問題之前,我們先看看瀏覽器引擎的發(fā)展歷史,答案就在其中。?
1990年夏日的一天,陽光明媚,這對(duì)于寒冷的挪威來說,非常難得。
兩個(gè)程序員走出辦公室,步入公園,坐在長凳上享受美好的陽光。
他們倆正在用C 開發(fā)一個(gè)超聲波圖像程序,遇到了一個(gè)跨平臺(tái)的問題。
這兩個(gè)程序員,一個(gè)叫做Haavard ,另外一個(gè)叫做Eirik , 他們計(jì)劃開發(fā)框架就是大名鼎鼎的QT 。
經(jīng)過兩人幾年的辛苦努力,QT于1995年發(fā)布了第一個(gè)版本。
作為一個(gè)跨平臺(tái)的GUI框架,QT深受C 程序員的歡迎,被廣泛地應(yīng)用在汽車、消費(fèi)電子、醫(yī)療、娛樂和工業(yè)自動(dòng)化等領(lǐng)域。
Haavard 和Eirik 不失時(shí)機(jī)地成立了一個(gè)叫做Trolltech的公司,專門開發(fā)QT, 并且提供專家咨詢服務(wù)。
讓我們把目光再轉(zhuǎn)向德國,1996年,一個(gè)德國大學(xué)生Matthias Ettrich在使用Unix桌面時(shí)候,覺得非常不爽。?
他當(dāng)然不能從零開始開發(fā),一番調(diào)查研究之后,Matthias 發(fā)現(xiàn)了QT這個(gè)寶藏
Trolltech公司的大力支持讓他下定決心采用QT來開發(fā)一個(gè)Unix的桌面:KDE。
也許是對(duì)QT太喜歡了, Matthias在1998年干脆加入了Trolltech公司。
與此同時(shí),Trolltech公司也有很多員工參與到了KDE的開發(fā)當(dāng)中,甚至成為領(lǐng)導(dǎo)者,Trolltech和KDE可真是一對(duì)好基友。
在大西洋另一邊的美國,Web已經(jīng)成為最熱門的發(fā)展方向,風(fēng)起云涌,英雄輩出。
網(wǎng)景率先推出Navigator,拔得頭籌。
微軟不甘落后,搞出了Explorer。
IE靠著和Windows捆綁策略,后來居上,統(tǒng)治了瀏覽器市場。
KDE作為一個(gè)桌面環(huán)境,自然也不能落伍, 也開發(fā)了屬于自己的瀏覽器:Konqueror。
Konqueror(其實(shí)是Conqueror,KDE的項(xiàng)目都以K開頭) ?從名稱上看就野心勃勃
Konqueror并沒有實(shí)現(xiàn)征服,因?yàn)閁nix/Linux在桌面市場的占有率實(shí)在太低了。
但是Konqueror的兩個(gè)重要組件:渲染引擎KHTML和JS引擎KJS卻在后來大放異彩。
2001年,蘋果想為自家的Mac OS X開發(fā)一個(gè)瀏覽器, KHTML和KJS進(jìn)入了他們的視線。
蘋果的開發(fā)人員對(duì)KHTML和KJS做了一個(gè)分支, 移植到了OS X上,改名為WebCore 和JavaScriptCore。
2003年,喬布斯在Macworld Expo 上正式發(fā)布了瀏覽器Safari 和WebCore。
但是KHTML團(tuán)隊(duì)和Apple團(tuán)隊(duì)之間的關(guān)系卻日趨緊張
兩個(gè)團(tuán)隊(duì)分裂了,開始獨(dú)立發(fā)展。
2005年,Apple 把WebCore和JavaScriptCore打包到Webkit中,作為一個(gè)開源軟件向公眾發(fā)布
Webkit 是個(gè)優(yōu)秀的瀏覽器引擎, 小巧、靈活又十分強(qiáng)大。
它率先實(shí)現(xiàn)了CSS3和HTML5的功能, 受到業(yè)界的喜愛, 圍繞著它有很多瀏覽器發(fā)展起來。
Webkit的成功引起了Google的注意,作為一個(gè)互聯(lián)網(wǎng)領(lǐng)域的巨無霸,它也要占據(jù)流量的入口,實(shí)現(xiàn)自己的瀏覽器。
不過,Google 對(duì)當(dāng)時(shí)的Web有著深刻的洞察力,它認(rèn)為Web和之前已經(jīng)完全不同了。
這些在瀏覽器中運(yùn)行的應(yīng)用程序基本上都是JavaScript來實(shí)現(xiàn)的,JavaScript引擎必須極為強(qiáng)勁才行。
既然JavaScriptCore不能滿足需求,那就自己造一個(gè)吧!
當(dāng)然,布局和渲染引擎還可以用Webkit 的WebCore。?
2009年,搭載著WebCore和V8的Chrome問世了, Chrome界面簡潔、穩(wěn)定, V8引擎極為強(qiáng)勁,引發(fā)了下載的狂潮,并迅速成為了瀏覽器的霸主!
此后,Google也fork了Webkit的源碼,并且花了大功夫梳理,使得使得可讀性更好,編譯效率更高,2013年形成了一個(gè)新的開源瀏覽器引擎Blink。
這幾個(gè)瀏覽器引擎的關(guān)系是這樣的。
再加上Firefox的Gecko , 三大瀏覽器引擎正式形成!
當(dāng)然,我們不能忘了曾經(jīng)的瀏覽器霸主IE和它的引擎Trident。
終于可以回到文章開頭的問題了:為什么國內(nèi)的IT巨頭不搞出一個(gè)瀏覽器引擎呢?
回顧這些瀏覽器引擎的發(fā)展歷史,它們幾乎都起源于90年代, 當(dāng)時(shí)國內(nèi)軟件業(yè)非常薄弱, 錯(cuò)過了瀏覽器開發(fā)的這一波浪潮。
隨著Web標(biāo)準(zhǔn)的不斷發(fā)展和完善,瀏覽器引擎也變得極為復(fù)雜,代碼量動(dòng)輒就是千萬行級(jí)別,工作量巨大。
瀏覽器引擎需要經(jīng)年累月的積累,沒法彎道超車。
即使是強(qiáng)如Google、Apple 也都是站在別人的肩膀上,加上自己的創(chuàng)新, 慢慢發(fā)展起來的。
國內(nèi)的互聯(lián)網(wǎng)巨頭又專注于商業(yè)模式,主要在應(yīng)用層折騰,對(duì)底層技術(shù)重視不夠。把別人的瀏覽器引擎拿過來,包裝一下,形成自己的瀏覽器,這是性價(jià)比最高的做法。
但是,我們要提出一個(gè)問題:當(dāng)你用了別人的東西,是不是也要做出貢獻(xiàn)呢?有沒有可能自主創(chuàng)新后搞出自己的分支、然后占據(jù)主導(dǎo)地位呢??
~END~
搶先預(yù)登記,提前入群交流IOTE 2021展位#?深圳站2021年10月23-25日深圳會(huì)展中心(福田)
? ? ? #?參展聯(lián)系:? ? ??陳江漢先生 13360526899(微信同號(hào))
今日份需求已上線1.室分天線2.智能奶茶機(jī)3.更多需求:https://www.iotku.com/Biz/