成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

都用WebKit并不意味著Web的統一

移動開發
最近Opera宣布,它將推出新的瀏覽器,不再使用自己的Presto引擎,而是使用眼下越來越留下的WebKit引擎。WebKit要一統Web了嗎?對于這個問題,知名網評人Robert Nyman發表了自己的見解。和別人不同的是,他希望用盡可能實事求是的態度,來客觀的分析,對于開發者來說,如果當市面上的大多數瀏覽器都采用WebKit核心,那會有哪些可能的后果。

[[63387]]

WebKit究竟是什么?

最近WebKit這個詞鋪天蓋地,它究竟是什么意思呢?

官方解釋:WebKit是一個開源的Web瀏覽器引擎。WebKit同時也被MacOS X系統的Safari、Dashboard、Mail和很多其他OS X程序選用為引擎。WebKit的HTML解析器和JavaScript解析器代碼分別源自KDE的KHTML和KJS代碼庫。

這就是在說,WebKit是Safari背后的瀏覽器引擎。還需要補充的是,Apple在Safari里面使用了自己的Nitro JavaScript引擎(只用WebKit來渲染HTML)。

有意思的是WebKit現在已經不僅僅是蘋果在使用,它現在還是Google Chrome的內核:

Google官方說明:Chromium使用WebKit做為渲染引擎。與其打造Chromium特有的實現方式,我們更希望去盡可能多的去為使用WebKit核心的瀏覽器做貢獻。

這是說Chrome也在使用Nitro JS引擎?不,Chrome有他自己的V8 JavaScript引擎。簡單的說,Chrome也使用WebKit,但是它也實現了自己的JavaScript處理方式。V8同時還是驅動Node.js的JavaScript引擎。

Opera會使用Chromium實現的WebKit,也會使用V8引擎。這就是說雖然Opera在宣稱自己使用WebKit,但事實上它使用WebKit和Safari與其他瀏覽器使用的WebKit并不完全一樣。如果你想客觀了解現狀,這是必須清楚的概念。

現在WebKit究竟有多少分支?

所以我們知道現在WebKit正在驅動,或者將會驅動3個主流瀏覽器。但是WebKit還有多少其他類型的實現?

確實還有很多很多WebKit的變種,特別是在移動領域。他們都是WebKit的分支。

這些WebKit的分支有多少差別?

有一種假設:因為這些瀏覽器都在使用WebKit,所以他們也會以同樣的方式去支持相同的特性。對于很多基本的特性來說,確實是這樣。但是對于很多小眾特性,就未必如此了。

舉例來說,當Chrome開始支持游戲手柄API的時候,Safari不但還沒開始支持,而且以后也不太可能支持。另一個例子是WebGL。做為在 Chrome已經支持了很久的特性之一,Safari卻才剛剛看到了曙光(而且還是在開發者選項里)。當然,這些還都是比較出名的例子。還有很多試驗性的 例子潛伏在大眾的視野之下。

甚至很多基礎的、日常的功能,在不同的代碼分支下都有所不同。PPK完整的總結了這些WebKit的差異

新特性如何加入到WebKit中,誰又來負責審核?

現在有許多公司正在為WebKit項目貢獻自己的力量。

WebKit項目提交和審查頁面提到只能有老的代碼提交員和審核員才能提名新的新的代碼提交員與審核員。這比較合理。然而,無論WebKit項目決定讓誰參與進來,最終都還是要讓Apple來做審核:

當有人被WebKit代碼提交員成功提名后,Apple會處理發送代碼提交員協議,在簽署協議之后,Apple會繼續開通SVN賬戶。

對于這一點并沒有什么隱秘的動機,但這確實在告訴大家,WebKit和很多開源項目一樣,并不是真正分散和民主的。權利是且必須是集中的——只有這樣才能保證能做出決定,并且把事情做成。

如果一個瀏覽器遷移到了WebKit,那是不是意味著(在編寫代碼的時候)可以少測試一個瀏覽器了?

不。每個瀏覽器都有它自己的怪異模式、性能差異、設計,和功能。所以每個瀏覽器都要測試。

當一個功能加入到WebKit的時候,是不是意味著在其他瀏覽器里就可以使用這功能了?

當然不是。比如游戲手柄API的例子。Paul Irish強調了這樣一個事實:WebKit瀏覽器們可以挑選究竟把哪些API放入他們的版本。比如Chrome選擇支持游戲手柄API。很多API在WebKit的層面就已經被實現了,但是WebKit項目書允許關閉這些功能。(編者注:Paul Irish是Google Chrome的員工,他曾在jQuery團隊工作兩年。)

Opera遷移到WebKit究竟意味著什么?

它意味著Opera將會為WebKit項目投入開發精力,但是更可能的是,意味著這Opera將會在有經歷為自己的瀏覽器打造一些其他的功能。

遷移到WebKit意味著我們可以把更多開發資源投入到新功能和增進用戶體驗的解決方案上去。

這也意味著他們不會再繼續開發他們的自有Web渲染引擎Presto。

同源和多樣化

上面的問題和回答告訴我們,WebKit們很明顯有著相同的源頭。在不同的瀏覽器版本里他們又有著不同的實現,但是歸根結底,他們共享著相同的代碼庫。

這意味著你可以為移動互聯網、為性能、為任何你能想到的目標來優化WebKit。這是件好事兒。而且這必然會帶來各種各樣的WebKit實現,并為解決問題引入更多資源。在最理想的情況下,這些進步會回饋給每個人。

這會帶來非常多好處。這也是我們為什么相信,有完全不同的一群人,來打造一個瀏覽器渲染引擎是非常重要的。

Apple在KHTML上構建WebKit是一件好事情。他們當初也可以選擇在Gecko上做這件事情(編者注:Gecko是Firefox的引擎),但他們選擇了創新,給市場增加了多樣性,還帶領瀏覽器在過去幾年里取得了巨大的進步 —— 這就是競爭帶來的直接結果。

如果他們只是做了另一個版本的Gecko,那我們也不確定我們今天會是個什么情況。

渲染其實并不相同

把WebKit先撇一邊兒,如果所有的瀏覽器都使用相同的引擎,這對程序員來說意味著什么?這種情況真的會發生嗎?Web會因此更加美好嗎?對開發者來說工作會不會更輕松一些?

最大風險在于程序員們如果相信這些瀏覽器如果都在使用完全相同的渲染引擎,那么:

  • 開發者不會再測試那么多瀏覽器了,因為他們認為反正瀏覽器都是WebKit核心的
  • 開發者也不再測試其他的瀏覽器引擎了,反正WebKit占據了主流
  • 開發者將會更多使用WebKit引擎獨有的代碼,而不是專注使用Web標準

最可能的后果是程序員會選擇——或者被導向——相信內核的統一會讓工作變輕松。但是隨著時間的流逝,他們會意識到盡管同是WebKit,也會有很多不同的東西。(見PPK總結的WebKit之不同)。

這給IE和Firefox留下了什么局面?

讓我們來清醒一下,看看這對Microsoft和Mozilla來說意味著什么。現在有很多聲音,認為他們應該用WebKit來實現IE和Firefox。

但這真的那么容易嗎?如果這樣的話,所有主流瀏覽器都會構建于一個相同的代碼庫。但是還會有很多的可變因素,代碼分支,插件,等等。對我們來說,這似乎并不是達到多樣性的最佳方式。

如果IE和Firfox不切換渲染引擎呢?這很可能會是一場精彩的競賽,并會為我們帶來一個光明的未來。但與此同時,這也給MicroSoft和Mozilla出了難題:他們將在實現各個層級的Web標準,提升性能,和很多其他方面耗費很多精力,并遇見重重挑戰。

如果市場份額逐漸萎縮,讓WebKit完全統治?也許人們將會使用IE和Firefox,而不使用WebKit?

在未來的歲月里,Firefox和IE有沒有被逐漸淘汰的風險?或者他們會成為不同的因素留在市場上?

瀏覽器廠商的動機是什么

除了現在已經有很多不同WebKit版本的事實以外,還有很多Web瀏覽器在參與競爭,試圖與眾不同。其中一些相信競爭很大程度將會體現用戶體驗領域。這點沒錯,但是在此領域以外,也有很多競爭點。

《WebKit的悲劇》一文中提到的那樣,誰會對花錢花資源來為競爭對手修補bug呢?

看上去大家更有可能會把精力花在新特性,新功能上,因為這會才讓他們在競爭中脫穎而出。

在這一點上,你將如何發現新的元素呢?新功能在某些程度上還會被發現。但是CSS呢?一個-webkit前綴的CSS屬性意味著什么?其實什么意義都沒有,除了它會支持IE和Firefox以外的任何其他瀏覽器。下一步又會發生什么?更多的瀏覽器廠商的CSS前綴嗎?

WebKit是好的

允許我們強調一下,WebKit是好的。它有開放的流程和強大的貢獻者。我們只是想澄清一個當下被廣泛接受的錯誤概念——一個WebKit等于所有WebKit,還有——如果所有瀏覽器都選擇WebKit,那么對開發者來說,工作會變得更輕松。

我的意思是說,與眾多獨立的瀏覽器引擎會為市場帶來多樣性一樣,WebKit在這一點來說,同樣會表現的很棒。

責任編輯:徐川 來源: 雷鋒網
相關推薦

2022-06-17 08:00:00

低代碼工具開發

2023-11-20 11:57:00

數據庫分片

2022-06-29 08:13:36

漏洞網絡攻擊網絡安全

2011-08-29 15:55:48

虛擬化AMD

2023-04-06 06:58:55

2015-01-21 09:08:13

數據安全合規性數據泄露

2015-03-12 09:15:59

百度云OS云OS

2018-10-10 16:06:27

天線路由器設備

2013-03-27 10:43:18

2021-04-08 10:17:13

云原生公共云云計算

2019-04-03 11:05:47

DevOps敏捷開發開源

2023-09-27 10:54:25

物聯網傳感器

2014-08-18 10:31:41

游戲設計

2013-12-03 09:37:02

工作時間

2015-08-24 09:51:04

dtit

2020-02-24 15:12:52

歐盟充電接口蘋果

2013-01-09 14:41:49

統一通信IP網絡網絡功能

2018-10-17 05:14:43

邊緣計算云計算數據

2010-09-26 08:40:00

C++
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美午夜一区二区三区免费大片 | 日韩av免费在线电影 | 亚洲综合色视频在线观看 | 日产精品久久久一区二区福利 | 成人黄页在线观看 | 天天躁日日躁狠狠的躁天龙影院 | 黄色大片免费网站 | 国产日韩欧美精品一区二区 | 国产精品日韩欧美一区二区三区 | 天天爱天天操 | 一区二区精品在线 | 一区二区三区小视频 | 99久久99热这里只有精品 | 国产精品自拍啪啪 | 欧美一区二区三区 | 一级做受毛片免费大片 | 国产欧美精品一区二区三区 | 美女福利视频一区 | 日韩精品一区二区三区视频播放 | 91精品午夜窝窝看片 | 一a级片| 一级在线观看 | 亚洲一区二区三区乱码aⅴ 四虎在线视频 | 精品久久久久一区二区国产 | 免费观看av| 凹凸日日摸日日碰夜夜 | 欧美久久一区二区三区 | 日韩中文字幕av | 五月花丁香婷婷 | av免费网址 | 欧美精品一区二区三区在线播放 | 成人精品在线视频 | 精品亚洲一区二区 | 日本成人中文字幕在线观看 | 一区二区三区免费 | 视频精品一区二区三区 | 国产精品精品视频一区二区三区 | 一级午夜aaa免费看三区 | 91看片在线观看 | 亚洲一区二区三区在线视频 | www.嫩草 |