在過去的 2021 年,Chrome 的哪些變化最值得關(guān)注?
2008年9月2日,Chrome瀏覽器總算發(fā)布了,長達(dá)2年的隱秘開發(fā)沒有白搭,出道即巔峰:
- 選用多進(jìn)程架構(gòu),避免某個(gè)Tab崩潰導(dǎo)致整個(gè)瀏覽器崩潰
- 開發(fā)了全新的V8引擎,將JavaScript的履行速度提高了1個(gè)數(shù)量級
- 規(guī)劃了十分簡潔的用戶界面,十分重視用戶體驗(yàn),比方可拖拽的Tab、支撐搜索的地址欄、默許隱藏書簽欄、隱身模式等
當(dāng)年主管Chrome項(xiàng)目的Sundar Pichai,在發(fā)布Chrome時(shí)是這樣說的:
We hope to collaborate with the entire community to help drive the web forward.
這種吹牛的話一般沒人信任,不過Chrome真的做到了,而Pichai也由于領(lǐng)導(dǎo)Chrome項(xiàng)目所展現(xiàn)的出色的遠(yuǎn)見和才能,后來出任谷歌CEO,走向人生巔峰。
Chrome不只市占率第一,而且直接以及直接推進(jìn)了一系列Web技能的前進(jìn):V8、ECMASCript 2015、HTTP/2、HTTP/3、QUIC、HTTPS、WebAssembly、WebGPU。。。
并不夸大地說,了解Chrome的開展能夠協(xié)助咱們了解整個(gè)前端職業(yè)的開展趨勢,由于瀏覽器的才能便是前端職業(yè)的鴻溝地點(diǎn),而主要推進(jìn)瀏覽器前進(jìn)的便是Chrome。
那么,2021年,Chrome有哪些值得重視的變化呢?
Chrome 2021
2021年,Chrome一共發(fā)布了9個(gè)版別,從Chrome 88到Chrome96:
日期 | Chrome版別 | 亮點(diǎn) |
2021-01-19 | Chrome 88 | 移除Flash |
2021-03-02 | Chrome 89 | WebNFC |
2021-04-13 | Chrome 90 | AV1 Encoder |
2021-05-25 | Chrome 91 | WebAssembly SIMD |
2021-07-20 | Chrome 92 |
|
2021-08-31 | Chrome 93 | Error Cause |
2021-09-21 | Chrome 94 | WebGPU |
2021-10-19 | Chrome 95 | WebAssembly Exception Handling |
2021-11-16 | Chrome 96 | WebAssembly Reference Types |
我是從Chrome 89開端寫《了不得的Chrome瀏覽器》博客的,所以錯(cuò)過了Chrome 88。別的,Chrome 92實(shí)在沒有發(fā)現(xiàn)什么特別大亮點(diǎn),大概是其他版別太卷了。。。全體來看,Chrome在2021年的表現(xiàn)相當(dāng)讓人驚艷。
2021年,F(xiàn)lash停服了。Chrome也徹底告別了Flash,結(jié)束了一代人關(guān)于Flash游戲、動畫、視頻的記憶,比方開心農(nóng)場、QQ空間。據(jù)傳,此事還導(dǎo)致某地鐵路系統(tǒng)呈現(xiàn)故障,相當(dāng)為難。Flash彌補(bǔ)了前期Web才能的缺乏,可是自身存在嚴(yán)峻的安全危險(xiǎn),跟著Web技能的敏捷前進(jìn),F(xiàn)lash早就沒那么重要了。Adobe在2017年就給Flash宣判了死刑,這一天仍是來了。
圖片來歷:Goodbye Flash, goodbye FarmVille
2021年,WebAssembly更強(qiáng)了。Chrome相繼支撐WebAssembly SIMD、WebAssemblyException Handling以及WebAssemblyReference Types,這些都是十分重要的WebAssembly特性。大名鼎鼎的Photoshop總算遷移到了Web,是通過將C++編譯為WebAssembly來完成的,其間WebAssembly Exception Handling與WebAssembly SIMD發(fā)揮了重要的作用。
圖片來歷:Photoshop's journey to the web
2021年,QUIC協(xié)議發(fā)布了。這將有助于提高網(wǎng)絡(luò)通信的功能、安全性以及靈活性。這是核算機(jī)網(wǎng)絡(luò)開展的革命性里程碑,未來TCP將有可能會逐漸退出歷史舞臺(這個(gè)進(jìn)程會應(yīng)該比較長,乃至像IPv6相一起間拖很久)。作為發(fā)明者,Chrome是最早部署QUIC協(xié)議的瀏覽器,再一次用技能改動世界。
2021年,WebGPU要來了。Chrome 94開端了WebGPU試用,估計(jì)將于2022年上半年正式發(fā)布。WebGPU是WebGL的繼承者,它們的方針相似,不過WebGPU供給了愈加底層的GPU才能。因而,WebGPU的圖像渲染才能更強(qiáng),功能更好,更易用,也愈加適用于數(shù)據(jù)并行核算以及機(jī)器學(xué)習(xí)。
Flash 停服了
亨利福特從前說過:
If I had asked people what they wanted, they would have said faster horses.
在馬車時(shí)代,人們只會希望馬車能跑得更快一點(diǎn),而不會想到馬車會被轎車代替。
相似的,盡管Flash也曾輝煌過很長一段時(shí)刻,可是依然仍是被時(shí)代扔掉了,2021年是它的結(jié)尾。
Flash在我國的高光時(shí)刻大概是全民偷菜?這個(gè)簡單的游戲從前讓企鵝賺得盆滿缽滿。
圖片來歷:2021年1月1日,是Flash的葬禮日
我沒玩過偷菜,可是我也曾用過QQ空間(暴雷年紀(jì)了)。那些殺馬特的QQ空間,當(dāng)年靠的便是Flash,把頁面整的花里胡哨的。
圖片來歷:2021年1月1日,是Flash的葬禮日
對Flash怨念最深的莫過于喬布斯了,iPhone從一開端就不支撐Flash。喬幫主還親身寫了一篇文章Thoughts on Flash抨擊Flash不安全、BUG多、關(guān)閉、費(fèi)電、對觸屏不友好,有理有據(jù)有節(jié)。從這篇文章也能看出來,喬幫主絕非不懂技能,反而技能視野還不錯(cuò),對Flash存在的技能問題分析得十分到位,切中關(guān)鍵。與喬布斯、蓋茨以及馬斯克這些美國企業(yè)家相比,我國的互聯(lián)網(wǎng)大佬其實(shí)大多都是技能出身,可是都不怎樣聊技能,這大概是由于我國互聯(lián)網(wǎng)過去的開展主要靠的是運(yùn)用層以及商業(yè)模式的立異,而不是技能層面的立異。
那么問題來了,是喬幫主封殺Flash導(dǎo)致Flash式微,仍是Flash自己缺點(diǎn)太多導(dǎo)致喬幫主不得不封殺Flash呢?我想更多是后者,人不自救,孰能救之。
當(dāng)然,蘋果并非沒有私心,它更希望將開發(fā)者操控在蘋果的生態(tài)系統(tǒng)中。蘋果扯著HTML5的大旗封殺Flash,不過后來對Web技能遠(yuǎn)不如谷歌來的熱心。
前期,F(xiàn)lash被用于播放視頻、制造動畫、展現(xiàn)廣告等。后來,Web技能的不斷前進(jìn),比方video標(biāo)簽、Canvas、WebGL、SVG,逐漸代替了Flash的作用,F(xiàn)lash也就失去了商場。
懷舊的人們大概會有些傷感,可是事實(shí)上,沒有Flash之后的Web會愈加安全、愈加流通,這就愈加扎心了。。。
WebAssembly 更強(qiáng)了
2021年無疑是WebAssembly的大年。
在技能方面,Chrome相繼支撐了WebAssembly SIMD、WebAssemblyException Handling以及WebAssemblyReference Types這3個(gè)重磅特性。
在運(yùn)用方面,宇宙級圖片處理東西Photoshop通過運(yùn)用WebAssembly遷移到了Web,別的依據(jù)WebAssembly完成的規(guī)劃東西Figma估值到達(dá)驚人的100億美元,兩者都證明了WebAssembly的巨大價(jià)值。
對WebAssembly感興趣的同學(xué),歡迎閱覽我的博客《十年磨一劍,WebAssembly是怎樣誕生的?》,了解WebAssembly的開展歷史。
WebAssembly SIMD
Chrome 91默許開啟了WebAssembly SIMD。
SIMD是Single Instruction Multiple Data的縮寫,中文術(shù)語為“單指令多數(shù)據(jù)流”,顧名思義,便是能夠運(yùn)用單條指令一起處理多個(gè)數(shù)據(jù)。
SIMD是一種特殊的CPU指令,它能夠完成數(shù)據(jù)層面的并行處理。如下圖,當(dāng)咱們需求對兩個(gè)長度為4的數(shù)組做加法時(shí),運(yùn)用一般的指令,則需求履行4次一般加法指令;如果運(yùn)用SIMD指令的話,則只需求履行1次向量加法即可:
SIMD常用于視頻、音頻、圖像、加密、動畫、游戲、AI等需求處理很多數(shù)據(jù)的運(yùn)用場景,能夠極大地提高向量類型的數(shù)據(jù)處理功能。主流的CPU都有SIMD指令,比方x86的SSE、ARM的Neon。
WebAssembly SIMD為WebAssembly新增了一個(gè)變量類型v128及其一系列v128的運(yùn)算符,這些運(yùn)算符便是SIMD指令。別的,由名字可知v128類型的長度是固定的,為128比特。
SIMD的指令十分多,而且不同CPU的SIMD是不相同的,WebAssembly SIMD只選取了各個(gè)CPU都支撐的部分最常用的SIMD指令。因而,能夠?qū)ebAssembly SIMD了解為各個(gè)CPU的SIMD指令的子集,一起將各個(gè)CPU的SIMD指令進(jìn)行了一層籠統(tǒng)和統(tǒng)一,開發(fā)者只需求學(xué)習(xí)WebAssembly SIMD,而不需求了解底層CPU的SIMD。
現(xiàn)在,Emscripten僅支撐將WebAssembly SIMD指令編譯為x86 SSE/AVX指令以及ARM Neon指令。
在核算機(jī)范疇,形似沒有什么問題是用分層處理不了的,如果有的話,能夠再分一層。
現(xiàn)在,WebAssembly SIMD這個(gè)提案現(xiàn)已進(jìn)入WebAssembly提案流程的Phase 4(Standardize the Feature),尚未徹底完成,不過離最終完成也只要1個(gè)Phase了,能夠了解為基本完成了。V8(Chrome、Node.js)、Firefox以及Emscripten都現(xiàn)已完成了WebAssembly SIMD。
Google Meet借助WebAssembly完成了視頻的實(shí)時(shí)背景虛化以及背景代替,這樣能夠讓參加線上會議的人把注意力集中在人而不是他地點(diǎn)的環(huán)境。對視頻數(shù)據(jù)進(jìn)行實(shí)時(shí)處理的話,對核算才能的要求十分高,運(yùn)用WebAssembly SIMD使其功能提高了至少2倍。
2021年,Photoshop總算遷移到了Web,是通過將C++編譯為WebAssembly來完成的,其間,WebAssembly SIMD發(fā)揮了重要的作用,將功能均勻提高了3到4倍,有些場景下乃至到達(dá)驚人的80到120倍。
WebAssembly Exception Handling
WebAssembly Exception Handling于Chrome 90開端試用,Chrome 95正式發(fā)布,為WebAssemly添加了反常處理語法,具體指令如下表所示:
Name | Opcode | Description |
try | 0x06 | begins a block which can handle thrown exceptions |
catch | 0x07 | begins the catch block of the try block |
catch_all | 0x19 | begins the catch_all block of the try block |
delegate | 0x18 | begins the delegate block of the try block |
throw | 0x08 | Creates an exception defined by the tag and then throws it |
rethrow | 0x09 | Pops the exnref on top of the stack and throws it |
WebAssembly/exception-handling提案由Google的開發(fā)者負(fù)責(zé),當(dāng)前處于WebAssembly提案流程的Phase 3,而且得到了Firefox、Safari以及Edge的支撐,因而估計(jì)將會成為正式規(guī)范。
WebAssembly自誕生以來就沒有反常處理語法,這是個(gè)挺大的問題。在瀏覽器環(huán)境下,WebAssemly的反常是通過JavaScript的try/catch來"模仿"的,這繼承了Asm.js的處理方式。
依據(jù)JavaScript的WebAssembly反常處理方式如下圖所示:
- 左側(cè)為WebAssembly偽代碼,右側(cè)為JavaScript膠水代碼;
- 依據(jù)右側(cè)的JavaScript函數(shù)invoke_vi可知,WebAssembly模塊的調(diào)用放在了JavaScript的try/catch句子中;
- 依據(jù)右側(cè)的JavaScript函數(shù)___cxa_throw可知,WebAssmebly的throw句子實(shí)際上是運(yùn)用JavaScript的throw句子來模仿;
- WebAssembly和JavaScript代碼互相來回調(diào)用,這樣生成的代碼量添加了很多,一起降低了履行功能;
依據(jù)開端的測驗(yàn)成果,依據(jù)WebAssembly原生的反常處理方式,代碼量降低了30%左右,一起功能提高了30%左右,這個(gè)成果能夠說十分理想了,用更少的代碼完成了更好的功能,用更少的代碼完成了更好的功能。從原理上來講,這個(gè)成果并不讓人意外。不過,由于現(xiàn)在測驗(yàn)數(shù)據(jù)還十分少,因而WebAssembly Exception Handling的實(shí)在作用還有待于進(jìn)一步驗(yàn)證。
Photoshop移到了Web的進(jìn)程中,WebAssembly Exception Handling也十分重要,由于C++中的反常處理代碼挺常見的。Photoshop也參與了WebAssembly Exception Handling規(guī)范的擬定進(jìn)程。
WebAssembly Reference Types
Chrome 96正式發(fā)布了WebAssembly Reference Types,Reference Types即引用類型,用externref關(guān)鍵詞表示。
之前,WebAssembly僅支撐32位及64位的整數(shù)和浮點(diǎn)數(shù),這樣使得處理復(fù)雜數(shù)據(jù)比方String和Object時(shí)十分費(fèi)事。
以字符串為例,如果咱們需求從JavaScript傳入一個(gè)字符串給WebAssembly函數(shù)運(yùn)用,則需求這樣處理:
- 將字符串轉(zhuǎn)換為整數(shù)(運(yùn)用TextEncoder即可)
- 將整數(shù)寫入WebAssembly的內(nèi)存空間(WebAssembly的內(nèi)存空間是一個(gè)線性的數(shù)組空間)
- 將整數(shù)數(shù)組的地址傳給WebAssembly函數(shù)
盡管這些步驟由編譯東西比方wasm-bindgen來處理,咱們不需求操心,可是這樣做會生成很多膠水代碼,損耗了編譯和履行功能。
支撐Reference Types之后,WebAssembly也能夠愉快地處理整數(shù)及浮點(diǎn)數(shù)之外的數(shù)據(jù)類型了。
WebAssembly/reference-types提案現(xiàn)已被納入WebAssembly規(guī)范,F(xiàn)irefox和Safari之前現(xiàn)已支撐了。WebAssembly Reference Types使得其他WebAssembly提案成為可能,例如GC(Garbage collection)、Interface Types以及type Imports等。
WebAssembly/reference-types提案的負(fù)責(zé)人是Andreas Rossberg,他是Google前職工,參與了WebAssembly開端的規(guī)劃,現(xiàn)在是WebAssembly中心規(guī)范的編輯。除了Reference Types,Andreas Rossberg還負(fù)責(zé)了WebAssembly的很多其他十分重要的提案,比方GC(Garbage collection)、Type Imports、Tail call等。
QUIC 協(xié)議發(fā)布了
2021年,QUIC協(xié)議成為IETF的RFC,它是新一代傳輸層網(wǎng)絡(luò)協(xié)議,是HTTP/3協(xié)議的根底:
由上圖可知,QUIC協(xié)議相當(dāng)于一起承擔(dān)了TCP、TLS以及HTTP/2的責(zé)任:
- 供給相似于TCP的牢靠通信,處理丟包、擁塞等網(wǎng)絡(luò)反常情況;
- 依據(jù)TLS/1.3進(jìn)行加密,保證通信的安全性,一起避免中心節(jié)點(diǎn)攪擾導(dǎo)致協(xié)議死板;
- 供給相似于HTTP/2的多路復(fù)用才能,在網(wǎng)絡(luò)傳輸層添加了流的概念,處理了TCP協(xié)議的頭部阻塞問題;
TCP是一個(gè)巨大的網(wǎng)絡(luò)協(xié)議,可是它有很多問題,其最大的問題是TCP協(xié)議現(xiàn)已死板了,基本沒法改了。QUIC最大亮點(diǎn)不在于處理了TCP頭部阻塞的問題或者供給1-RTT乃至0-RTT的銜接時(shí)長,而是一系列保障可部署性、更快地迭代、避免協(xié)議死板的規(guī)劃,比方依據(jù)UDP、加密、脫離操作系統(tǒng)內(nèi)核等。
QUIC協(xié)議的規(guī)劃思維有點(diǎn)像React 17,在架構(gòu)規(guī)劃上簡化未來的更新,保障長時(shí)刻開展。
對QUIC協(xié)議興趣的同學(xué),推薦看看QUIC 101視頻以及The QUIC Transport Protocol: Design and Internet-Scale Deployment論文,講得挺好的,我就贅述了。
總歸,QUIC是一個(gè)斗膽、激進(jìn)、奇妙的網(wǎng)絡(luò)協(xié)議。正如一切其他改動世界的技能(比方WWW)相同,QUIC也是站在偉人的膀子上,吸取了數(shù)十年TCP協(xié)議的各種經(jīng)驗(yàn)和教訓(xùn)。
QUIC協(xié)議在本年5月成為IETF的RFC,這是核算機(jī)網(wǎng)絡(luò)開展的革命性里程碑,未來TCP將有可能會逐漸退出歷史舞臺(這個(gè)進(jìn)程會應(yīng)該比較長,乃至像IPv6相一起間拖很久)。也便是說,面試者們今后就不用了解3次握手和4次揮手了?
QUIC現(xiàn)已成為正式規(guī)范了,那HTTP/3成為正式規(guī)范也就指日可下了。
WebGPU 要來了
2021年,Chrome 94新增了試用特性WebGPU,供給了運(yùn)用GPU的Web API,能夠用于圖像渲染(比方3D渲染)以及進(jìn)行數(shù)據(jù)并行核算(比方機(jī)器學(xué)習(xí))。
WebGPU關(guān)于Web來說無疑是一個(gè)革命性的特性,核算機(jī)職業(yè)本質(zhì)上是通過摩爾定律(摩爾為CPU廠商Intlel的創(chuàng)始人之一)以及黃氏定律(黃氏即黃仁勛,GPU廠商英偉達(dá)的創(chuàng)始人,別號核彈教父)所推進(jìn)的,芯片核算才能的提高為咱們帶來歷次核算機(jī)職業(yè)革命:個(gè)人電腦、互聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)。當(dāng)GPU的核算才能越來越強(qiáng),越來越重要時(shí),Web卻不能很好地運(yùn)用,這顯然是不合理的。
WebGPU這個(gè)特性所對應(yīng)的是WebGPU和WebGPU Shading Language這2個(gè)提案,由Google、Mozilla以及Apple的工程師負(fù)責(zé)。WebGPU和WebGPU Shading Language提案都是由W3C的GPU for the Web工作組起草的,該工作組成立于2017,通過4年的盡力,WebGPU總算開端試用了,也是不容易??!WebGPU提案定義了Web中運(yùn)用GPU的API,WebGPU Shading Language(WGSL)提案定義了GPU代碼的編程言語。WebGPU得到了4大瀏覽器巨子(Safari,F(xiàn)irefox、Edge)的支撐,因而WebGPU成為正式的W3C規(guī)范僅僅時(shí)刻問題。
WebGPU于Chrome 94開端試用,估計(jì)將于Chrome 102正式發(fā)布,時(shí)刻大概是下一年5月份。如此重要的特性,可能咱們還沒來得及學(xué)會怎樣運(yùn)用,只試用8個(gè)月時(shí)刻就正式發(fā)布的話,似乎有點(diǎn)太倉促了。
WebGPU是WebGL的繼承者,它們的方針相似,不過WebGPU供給了愈加底層的GPU才能。因而,WebGPU的圖像渲染才能更強(qiáng),功能更好,更易用,也愈加適用于數(shù)據(jù)并行核算以及機(jī)器學(xué)習(xí)。
依據(jù)Safari的測驗(yàn)成果,WebGPU的功能在各種設(shè)備上都遠(yuǎn)高于WebGL:
圖片來歷:WebGPU and WSL in Safari
前端機(jī)器學(xué)習(xí)庫TensorFlow.js也測驗(yàn)了一下WebGPU,成果發(fā)現(xiàn)WebGPU的功能更好,可是差距與WebGL并不是特別明顯,有待進(jìn)一步研究:
圖片來歷:Fast client-side ML with TensorFlow.js
如下圖,WebGPU是依據(jù)各種GPU API(例如DirectX 12、Metal、Vulkan)完成的。
圖片來歷:Access modern GPU features with WebGPU
WebGPU供給的是底層API,十分強(qiáng)大,一起也十分復(fù)雜。運(yùn)用WebGPU完成向量乘法的代碼長達(dá)200行,目測社區(qū)將會呈現(xiàn)第三方庫封裝WebGPU,供給更簡單的運(yùn)用方式用于不同的運(yùn)用場景。
依據(jù)測驗(yàn),運(yùn)用WebGPU進(jìn)行向量乘法核算時(shí),跟著向量長度添加,其功能遠(yuǎn)優(yōu)于運(yùn)用CPU:
圖片來歷:Get started with GPU Compute on the web
Chrome 番外篇
2021年,Chrome之外的前端娛樂圈也相當(dāng)精彩,仍是有很其他值得重視的變化,我這里聊一些我比較重視的事情。
Chrome中心開發(fā)者之一Alex Russell(本年換崗去Edge了)寫了一篇十分詳盡的檄文Progress Delayed Is Progress Denied,責(zé)備Safari及其瀏覽器引擎Webkit嚴(yán)峻落后,App Store要求一切瀏覽器在iOS端必須運(yùn)用Webkit引擎的政策嚴(yán)峻制約了Web技能的開展,導(dǎo)致很多Web新技能無法即時(shí)運(yùn)用到iOS端。出于保護(hù)App Store的商業(yè)利益,Apple不太可能主導(dǎo)拋棄對iOS端Web技能的操控,競爭對手只能付諸法律手段。游戲廠商Epic Game正在和Apple打官司,企圖繞開App Store,允許第三方付出,這事盡管和Webkit沒啥聯(lián)系,可是也算是在應(yīng)戰(zhàn)蘋果關(guān)于iOS端的操控吧。是的,Web技能能否在移動端得到突破性的開展,取決于蘋果是否放開對iOS端瀏覽器引擎的限制,這事得靠打官司,代碼寫得再好也沒有,得靠律師的口才。谷歌大概率不會為了Chrome和蘋果打官司,由于安卓面對同樣的獨(dú)占指控,那不是搬起石頭砸自己的腳嗎?所以這事現(xiàn)在是無解的。Chrome有時(shí)會不管Safari是否支撐就發(fā)布一些瀏覽器特性,也是不得已而為之吧,如果等Safari那黃花菜都涼了。
前端范疇的明星公司Vercel于11月取得1.5億美元融資,估值25億美元,前端結(jié)構(gòu)居然這么值錢了?Vercel的愿景是"make the Web. Faster." 這個(gè)愿景仍是很贊,幻想空間也很大。事實(shí)上,它們做的的確也不錯(cuò),通過運(yùn)用Rust將構(gòu)建速度提高了5倍,讓人印象深入,值得重視。另一個(gè)值得重視的公司是Figma,融資2億美元,估值100億美元。Figma不僅僅把Sketch搬到了Web,而是改動了規(guī)劃辦法以及規(guī)劃流程,一起建立了規(guī)劃師社區(qū)。Figma的商業(yè)模式仍是十分清晰,有對標(biāo)的巨子Adobe,國內(nèi)也有對標(biāo)的公司比方藍(lán)湖、稿定規(guī)劃、即時(shí)規(guī)劃等,前途無量。跟著Web技能的不斷前進(jìn),大前端的商業(yè)價(jià)值越來越大,這關(guān)于從事這個(gè)職業(yè)的人無疑是有利的。
Rust在Web生態(tài)系統(tǒng)中的運(yùn)用也值得重視。Rust由Mozilla開發(fā),而且常用于WebAssembly場景,算是血統(tǒng)十分純粹的"前端言語"。明星項(xiàng)目Deno和Next.js都在用Rust,乃至Chrome也在試驗(yàn)用Rust開發(fā)。不過,Rust的學(xué)習(xí)曲線比較陡峭,現(xiàn)在僅運(yùn)用于前端根底設(shè)施的開發(fā),未來大概也會是這樣,對這一塊感興趣的同學(xué)能夠卷起來了!
總結(jié)
通過這一年的調(diào)查,我深入地體會到Chrome依然在餞別開端的理想:drive the web forward,添加瀏覽器的才能,提高瀏覽器的速度,拓展瀏覽器的運(yùn)用場景,的確十分了不得!因而,咱們有理由信任,Chrome會越來越好,Web會越來越好。
當(dāng)然,這個(gè)系列的博客,我仍是會繼續(xù)寫下去,繼續(xù)分享自己關(guān)于Chrome的思考,歡迎重視。
才疏學(xué)淺,我所寫的內(nèi)容不免有錯(cuò)誤之處,歡迎批評指正,感興趣的同學(xué)能夠微信溝通:KiwenLau。
參考資料
- 十年磨一劍,WebAssembly是怎樣誕生的?
-
Chrome是怎樣成功的?
-
從 WebGL 到 WebGPU ,網(wǎng)頁圖形的全新時(shí)代
- Google Chrome announcement
- A fresh take on the browser
- Inside Chrome: The Secret Project to Crush IE and Remake the Web
- Adobe Flash is Dead: Here's What That Means
- 2021年1月1日,是Flash的葬禮日
- Thoughts on Flash
- What makes Flash so insecure and what are the alternatives?
- Fast, parallel applications with WebAssembly SIMD
- Harnessing Your Hardware with SIMD
- Zoom on Web: getting connected with advanced web technology
- Supercharging the TensorFlow.js WebAssembly backend with SIMD and multi-threading
- Background Features in Google Meet, Powered by Web ML
- 15x Faster TypedArrays: Vector Addition in WebAssembly
- WebAssembly Exception Handling: A Toolchain's Perspective
- emscripten:C++ exceptions support
- Strings in WebAssembly (Wasm)
- Making WebAssembly better for Rust & for all languages
- WebAssembly Reference Types in Wasmtime
- WebAssembly Reference Types Implemented in wasmtime, Lets Wasm Modules Handle Complex Types
- Photoshop's journey to the web
- 淺入淺出WebGPU
- Access modern GPU features with WebGPU
- Fast client-side ML with TensorFlow.js
- Get started with GPU Compute on the web
- The QUIC Transport Protocol: Design and Internet-Scale Deployment
- QUIC 101
- QUIC is now RFC 9000
- Rust and C++ interoperability
- 《浪潮之巔(第四版)》第18章:應(yīng)戰(zhàn)者 - Google公司