精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

JavaScript,是時候瘦瘦身了!

譯文 精選
開發(fā) 前端
“JavaScript太重了。”雖然JS在全球開發(fā)語言中屬于巨無霸的存在,但從過去到現(xiàn)在,吐槽JS的聲音一直不絕于耳。

作者 | Loraine Lawson

編譯 | 言征

“JavaScript太重了。”雖然JS在全球開發(fā)語言中屬于巨無霸的存在,但從過去到現(xiàn)在,吐槽JS的聲音一直不絕于耳。

比如,要系統(tǒng)的學(xué)JavaScript,有一大套工具鏈,而且是非官方的工具鏈。許多新手一看到VS Code,NodeJS,Babel,Webpack,Jest,Gulp, TypeScript...頓時就被勸退。

再比如,語法特性也是亂成一團。弱類型,又可以面向?qū)ο螅挚梢院瘮?shù)式編程,還可以面向過程,還有this關(guān)鍵字,這些全部混著用。誰也不想接受這樣的屎山代碼!

就連Solid.js框架的創(chuàng)建者Ryan Carniato,也在近日發(fā)聲:是時候在Web中減少JS代碼了! 

一、采用 0 Kb JavaScript?做不到!

Carniato目前在Web開發(fā)平臺Netlify任職,近期他在“International JavaScript”會議的主題演講中向前端開發(fā)人員提出了一個問題:“你未來會采用 0kb JavaScript 嗎?”

當(dāng)然,Carniato提出的這個問題更多是是一個假設(shè)性問題,因為 0kb 并不是真正的目標(biāo)。更重要的是前端需要減少其JavaScript的占用空間。

“如果我們回顧過去和現(xiàn)在,就會發(fā)現(xiàn)關(guān)于降低 JavaScript 成本的討論一直在進行,而且證據(jù)充分確鑿。”

首先,他給開發(fā)人員展示了一組統(tǒng)計圖數(shù)據(jù),圖中顯示了按內(nèi)容類型劃分的網(wǎng)頁權(quán)重的中位數(shù),很明顯,除了意料之中的圖片之外,讓網(wǎng)頁變得十分“沉重”的罪魁禍?zhǔn)妆闶荍avaScript。

按內(nèi)容類型劃分的頁面權(quán)重顯示了 JavaScript 在增加頁面重量方面的影響。按內(nèi)容類型劃分的頁面權(quán)重顯示了 JavaScript 在增加頁面重量方面的影響。

如何讓網(wǎng)頁變輕?“首先,如何優(yōu)化圖像是眾所周知的,但 JavaScript 有點棘手,而且它恰好是所提供的最昂貴的資產(chǎn)之一,”他說。

同時,Carniato指出,這種情況在移動設(shè)備上則是一個更大的問題,根據(jù)設(shè)備和網(wǎng)絡(luò)的不同,要代價可能“非常高”。

他展示了一個 JavaScript 大小為 170 KB 的示例。JavaScript的處理時間要比圖像更“漫長”。

“在一臺低端設(shè)備上,處理時間,即解析、執(zhí)行、運行 JavaScript 代碼的時間,幾乎是3秒半,而圖像大約是 100 毫秒左右。”

不同高端低端設(shè)備的多核跑分不同高端低端設(shè)備的多核跑分

而且,高端設(shè)備和低端設(shè)備之間處理能力的差異,也存在越來越明顯的差距。2022 年的低端設(shè)備市場在處理能力方面與 2014 年的高級設(shè)備類似,因此 iPhone 6s 本質(zhì)上就像擁有 Moto E 30。

這里,Carniato提到了尤其會對電商公司 eBay 造成不小的影響,因為在電子商務(wù)領(lǐng)域,頁面加載至關(guān)重要。

“加載時間和購買率之間存在相關(guān)性,這已經(jīng)不是什么秘密了,”他說。“問題的真相在于水合(Hydration),而大型 JavaScript 有效負(fù)載也是我們架構(gòu)責(zé)任的一部分。”

名詞解釋:1.水合作用的實質(zhì)是水分子整體進入礦物晶格,從而使礦物體積增大的作用。這里是指 Web開發(fā)中的一種交互性技術(shù)。

在web開發(fā)中,水合(Hydration)是一種為服務(wù)器渲染的HTML添加交互性的技術(shù)。這是一種客戶端JavaScript通過將事件處理程序附加到HTML元素,將靜態(tài)HTML網(wǎng)頁轉(zhuǎn)換為動態(tài)網(wǎng)頁的技術(shù)。

近年來,水合開始被視為一個消耗內(nèi)存并減慢啟動速度的黑客,尤其是在移動設(shè)備上。 

二、前端開發(fā)者該為JavaScript瘦身了!

Carniato 給出了為Web中 JavaScript 代碼“瘦身”的幾種策略。 

1.代碼分割/延遲加載

Carniato 說,代碼分割和延遲加載可以顯著減輕重量。“現(xiàn)在使用的幾乎所有元框架或工具幾乎都會在路線級別自動為您完成此操作,”他說。“所以你應(yīng)該已經(jīng)這樣做了。”

關(guān)于框架如何水合需要了解的一件事是,服務(wù)器渲染的任何內(nèi)容都需要水合,就好像它在頁面上可見一樣,這就是開發(fā)人員顯示其他內(nèi)容并將其交換的原因。確實需要一些手動操作才能完成這項工作,他補充道,因為如果某些東西確實存在于投降 DOM 中并且它應(yīng)該是交互式的,那么它就會水合。

“延遲加載并不能阻止它。這就是這些框架的工作方式,因為它們基本上需要運行整個應(yīng)用程序,”他補充道。

2.使用更小/更快的框架

Carniato 采用了一種有趣的方法來比較框架。他在開始時查看了它們的大小,然后隨著更多組件添加到框架中。結(jié)果令人驚訝,因為快速框架不一定保持快速。

JavaScript 框架速度JavaScript 框架速度

“是的,你的基線 [...] 開始較小,但實際上一旦編寫代碼情況就變了,”他說。“因此,在某個時刻,這些組件會構(gòu)成更大的一塊。”

有些框架一開始很小,但隨著組件的添加,框架開始相互接近。他以 Svelte 為例。“例如,Svelte 從最小的開始;當(dāng)你擁有 80 個獨特的組件時,它實際上比 React 和其他所有組件都大,”他說。

“所以大多數(shù)框架實際上在規(guī)模上非常相似,事實上,你可以看到最上面的那條線,那就是在開頭的React——它有相同的斜率。”

3.漸進式增強

漸進式增強基于這樣的理念:Web是建立在anchors 和表單之上的;他解釋說,因此,如果 JavaScript 不存在,開發(fā)人員可以依靠平臺中已經(jīng)內(nèi)置的內(nèi)容。

“漸進式增強確實得到了很大的推動,特別是在 Remix 和 SvelteKit 這樣的框架中,”他說。“只要將所有交互編寫為anchors 和表單,那么它們無需 JavaScript 即可運行。我認(rèn)為這是一件很棒的事情。”

不過,Carniato 認(rèn)為,它不一定能替代其他減少JS代碼的方法,但它的確創(chuàng)造了一種非常不同的體驗。

“我之前提到的那個可憐的用戶,他使用的手機需要3秒半的時間來加載解析——假設(shè)總共需要7秒才能進行交互——他們點擊鏈接可見3秒的鏈接,已經(jīng)過去6秒,”他說。“你猜怎么著?JavaScript 還沒有加載。”

因此,現(xiàn)在他們必須重新加載整個頁面并再次等待七秒鐘,而不是使用一些可供性進行客戶端導(dǎo)航,他補充道。

“這當(dāng)然OK,但這實際上并不是完全的勝利,它并不能解決問題,”

4.漸進式水合(Progressive Hydration)

他說,漸進式水合背后的想法是,頁面根據(jù)需要進行水合。當(dāng)有人點擊文檔時,開發(fā)人員可以提前將一些事件處理程序附加到文檔,然后用它來做一些聰明的事情。他補充說,有時這被稱為選擇性水合。

漸進式補水合  繪制:Dan Abramov漸進式補水合 繪制:Dan Abramov

Twitter上一位專家Dan Abramov為 Carniato 繪制了上圖,試圖展示如果 React 還沒有完全水合,并且有人點擊不同的分支(可能不是 React當(dāng)前正在加載或水合的分支)會發(fā)生什么,那么它就會足夠聰明地擺脫它正在做的事情,然后優(yōu)先考慮被點擊的那個分支。

“它仍然必須從父節(jié)點到子節(jié)點,但你可以給中間節(jié)點做水合,而不是繞過去;對我來說,無阻塞在這種情況下非常好,”Carniato 說道。

但事情也不是絕對的,你可能不會注意到,有時這也會導(dǎo)致總時間更長,另外,你會發(fā)現(xiàn),后臺中的CPU會嘎嘎作響,可能會在一定程度上影響體驗。

此外,Carniato 還給出了其他幾種 JavaScript 瘦身的辦法,后續(xù)我們會跟蹤報道,也歡迎諸位在評論區(qū)探討交流。

最后想說一句,有人認(rèn)為拋開JavaScript的龐大生態(tài),去吐槽JavaScript太臃腫,有點耍賴皮,誰讓現(xiàn)在基本所有的Web都在用它呢!

參考鏈接

https://thenewstack.io/solid-js-creator-outlines-options-to-reduce-javascript-code/

https://www.zhihu.com/question/550421589/answer/2710011944

責(zé)任編輯:華軒 來源: 51CTO技術(shù)棧
相關(guān)推薦

2012-03-17 21:45:02

JavaScript

2017-02-17 07:46:29

2018-08-21 05:12:10

2024-01-02 07:34:38

CentOSLinuxRedhat

2021-10-09 14:35:20

物聯(lián)網(wǎng)IOT人工智能

2022-07-06 23:28:53

元宇宙Web3.0

2013-06-05 13:49:41

EclipseIntelliJ

2015-06-15 11:05:13

DCIM數(shù)據(jù)中心

2020-04-14 12:12:20

JavaScriptIIFE函數(shù)

2012-05-16 09:17:54

Windows Pho諾基亞

2018-05-01 07:16:20

2013-05-14 13:30:08

部署SaaS云計算

2018-11-16 15:00:36

區(qū)塊鏈去中心金融

2013-06-07 10:18:00

EclipseIntelliJ ID

2022-06-27 14:31:20

元宇宙品牌運營推廣

2013-05-16 10:02:43

SaaS云計算部署

2013-05-22 09:40:57

大規(guī)模部署SaaSSaaS

2013-12-20 10:14:24

iBeacon蘋果NFC

2015-10-21 15:55:04

HTTPHTTPS

2017-09-15 18:16:56

人工智能Python
點贊
收藏

51CTO技術(shù)棧公眾號

国产三级视频在线播放| 亚洲国产日韩一区无码精品久久久| 黄色动漫在线| 成人一区二区三区在线观看| 97久久久免费福利网址| 亚洲a v网站| 国产精品视频首页| 精品人伦一区二区三区蜜桃网站| 日韩区国产区| 亚洲精品第五页| 久久一本综合频道| 九九九久久国产免费| 一级性生活毛片| 成人豆花视频| 色婷婷av久久久久久久| 国产一区二区三区在线免费| 九色蝌蚪在线| 国产大片一区二区| 国产精品av在线播放| 久久中文字幕无码| 天天综合网网欲色| 精品亚洲一区二区三区在线播放| 国产美女视频免费看| 亚洲欧洲自拍| 亚洲高清视频中文字幕| 中文精品视频一区二区在线观看| 天天舔天天干天天操| 国内精品在线播放| 国产精品久久久久99| 国产成人在线免费视频| 欧美一区综合| 中文亚洲视频在线| 色天使在线视频| 91久久精品无嫩草影院| 欧美精品成人一区二区三区四区| 亚洲国产精品久久久久爰色欲| 亚洲丝袜一区| 亚洲日本电影在线| 亚洲.欧美.日本.国产综合在线| 日本激情一区二区| 国产suv精品一区二区三区| 国产欧美在线视频| 在线观看你懂的网站| 亚洲一区成人| 45www国产精品网站| 国产在线拍揄自揄拍| 在线中文字幕亚洲| 成年无码av片在线| 动漫性做爰视频| 99久久久久国产精品| 在线免费观看羞羞视频一区二区| 色噜噜日韩精品欧美一区二区| 欧美亚洲国产日韩| 精品视频久久久| 白丝女仆被免费网站| 性欧美lx╳lx╳| 日韩精品在线观看网站| 波多野结衣福利| 亚洲精品播放| 亚洲片在线观看| 男女做爰猛烈刺激| 日韩欧美综合| 久久成人18免费网站| 日韩欧美国产成人精品免费| 伊人成综合网| 久久久久国产视频| 91美女免费看| 日韩1区2区日韩1区2区| 91精品久久久久| 国产情侣一区二区| 成人午夜精品一区二区三区| 国产在线精品日韩| 邻居大乳一区二区三区| 亚洲国产成人自拍| 人人妻人人澡人人爽精品欧美一区| 成人黄色在线电影| 亚洲成精国产精品女| 成人观看免费完整观看| avav成人| 精品少妇一区二区三区日产乱码 | 免费电影一区| 嫩草在线播放| 亚洲视频在线观看一区| 久久精品无码中文字幕| 国产精选在线| 欧美色倩网站大全免费| 亚洲国产欧美日韩在线| 精品视频在线你懂得| 亚洲无限av看| 久久久久久久久久网站| 久久激情久久| 91久久精品www人人做人人爽 | 99精品国产视频| 日本一区二区三区四区高清视频| 日本在线观看网站| 亚洲午夜久久久| 高清一区二区视频| japanese色系久久精品| 亚洲人成电影网站色www| 性欧美疯狂猛交69hd| 一本一本久久| 91精品黄色| 一本一道波多野毛片中文在线 | 日韩免费在线观看av| 在线能看的av网址| 日韩午夜av一区| 免费看91的网站| 亚洲大胆视频| 亚洲最大的成人网| 国产小视频免费在线网址| 亚洲人成网站影音先锋播放| chinese少妇国语对白| 综合激情网...| 最近2019中文字幕第三页视频 | 亚洲AV无码片久久精品| 欧美另类视频| 国产精品444| 三级视频在线看| 亚洲免费在线播放| 尤蜜粉嫩av国产一区二区三区| 精品福利一区| 久久国产精品久久精品| 中文字幕视频在线播放| www久久精品| 青青青在线视频播放| 超碰国产精品一区二页| 伊人久久五月天| 黄色一级视频免费看| av中文一区二区三区| 400部精品国偷自产在线观看| 精品久久99| 亚洲最新在线视频| 亚洲s码欧洲m码国产av| av在线播放一区二区三区| 永久免费网站视频在线观看| 伊人国产精品| 久久精品国产69国产精品亚洲| 黄色av网站免费观看| 99视频一区二区| 国产精品国产对白熟妇| 成人资源在线| 久久久人成影片一区二区三区| av一级黄色片| 亚洲欧美日韩一区| 五月天六月丁香| 91精品国产91久久综合| 成人免费在线视频网站| 久草中文在线| 日韩欧美一级二级三级久久久| 看免费黄色录像| 国产成人久久精品77777最新版本| 警花观音坐莲激情销魂小说| 欧美经典一区| 欧美高清激情视频| 刘亦菲毛片一区二区三区| 亚洲成人激情av| 波多野结衣办公室33分钟| 久久一区中文字幕| 欧洲亚洲一区二区| 国产精品第一国产精品| 久久久成人精品视频| 国产又粗又黄又爽视频| 亚洲乱码国产乱码精品精可以看 | 国产丝袜在线精品| 北条麻妃在线视频| 日韩欧美综合| 51国偷自产一区二区三区| av手机在线观看| 亚洲人成网站免费播放| 亚洲天堂网视频| 亚洲免费伊人电影| 人妻在线日韩免费视频| 日韩电影在线免费看| 亚洲在线播放电影| 亚洲伊人影院| 人九九综合九九宗合| 日本三级在线播放完整版| 日韩久久久久久| 日韩视频在线观看一区| 国产欧美日韩三区| 国产男女无遮挡猛进猛出| 激情综合网址| 亚洲成人网上| 日韩中文字幕在线一区| 国产91精品久久久久| 免费的黄网站在线观看| 欧美精品一区二区在线播放| 日本免费精品视频| 亚洲欧美激情插| 30一40一50老女人毛片| 九九精品视频在线看| 日本福利视频一区| 精品国产精品| 国产经品一区二区| gogo亚洲高清大胆美女人体| 美女视频黄免费的亚洲男人天堂| 性xxxx视频| 欧美一级二级在线观看| 91丝袜一区二区三区| 亚洲理论在线观看| 88久久精品无码一区二区毛片| 紧缚捆绑精品一区二区| 国产日韩一区二区在线观看| 在线成人直播| 日韩欧美电影一区二区| 国产精品久久久久av蜜臀 | 一区二区亚洲视频| 国产精品美女视频网站| 国产嫩草在线视频| 日韩视频免费看| 国产中文在线| 精品88久久久久88久久久| 一区二区三区日| 在线观看亚洲一区| 国产精品100| 一区二区三区**美女毛片| 国精产品一区一区| 国产亚洲婷婷免费| 风间由美一二三区av片| 粉嫩aⅴ一区二区三区四区| 中文字幕 日韩 欧美| 久久字幕精品一区| 内射国产内射夫妻免费频道| 欧美在线亚洲| 国产日韩第一页| 久久五月天小说| 亚洲国产一区二区在线| 亚洲小说图片视频| 国产尤物99| 理论片一区二区在线| 国产精品福利视频| 在线播放一区二区精品视频| 91黄在线观看| 欧美另类中文字幕| 亚洲在线免费视频| 超碰国产精品一区二页| 国产在线98福利播放视频| 日韩一区二区三区在线免费观看| 4388成人网| 欧美电影免费观看网站| 青青草99啪国产免费| 最新欧美色图| 日本不卡高字幕在线2019| 波多视频一区| 国产精品igao视频| 影音成人av| 成人信息集中地欧美| 96视频在线观看欧美| 亚洲www在线观看| 人人九九精品视频| 国产精品日本一区二区| 国产精品久久久久久久久久白浆| 国产尤物99| 国产成人三级| 亚洲一区bb| 91精品动漫在线观看| 999久久欧美人妻一区二区| 欧美人成网站| 欧美日韩一道本| 视频一区二区三区入口| 香蕉视频禁止18| 国模大尺度一区二区三区| 中文字幕资源在线观看| 国产高清久久久| 六十路息与子猛烈交尾| 国产夜色精品一区二区av| 欧美一区二区三区观看| 伊人色综合久久天天人手人婷| 欧美一级高潮片| 欧美性生活大片免费观看网址| 姑娘第5集在线观看免费好剧| 欧美日韩国产天堂| www久久久com| 国产视频综合在线| 日本三级在线视频| 欧美精品福利在线| 伊伊综合在线| 91色在线视频| 免费看久久久| 亚洲一区二区三区涩| 欧美全黄视频| 超碰av在线免费观看| 国产在线精品视频| 182在线视频| 国产精品成人一区二区三区夜夜夜 | 一级做a爱片性色毛片| 精品日本一线二线三线不卡| 你懂的好爽在线观看| 粗暴蹂躏中文一区二区三区| 日韩伦理在线| 亚洲aa在线观看| 亚瑟一区二区三区四区| 天天成人综合网| 午夜在线一区二区| 中文字幕视频三区| 91美女片黄在线观看91美女| 美女三级黄色片| 欧美性猛交丰臀xxxxx网站| 99国产精品一区二区三区| 精品小视频在线| 羞羞电影在线观看www| 国产精品91久久久| 99国产精品久久一区二区三区| 色播亚洲婷婷| 国产精品毛片| 国内自拍偷拍视频| 亚洲欧美在线视频观看| 国产精品免费精品一区| 精品国产乱码久久久久久图片 | 亚洲国产网址| 欧美 亚洲 视频| 六月丁香婷婷色狠狠久久| 最近日本中文字幕| 亚洲一级在线观看| 国产乱淫a∨片免费视频| 亚洲色图国产精品| 高清精品在线| 99热最新在线| 婷婷六月综合| 精品亚洲一区二区三区四区| 久久精品一区二区三区不卡牛牛| 久久久香蕉视频| 日韩欧美在线1卡| 久久黄色美女电影| 国产美女高潮久久白浆| 国产精品嫩模av在线| 97国产精东麻豆人妻电影| 成人不卡免费av| 久久久久亚洲av成人片| 日韩欧美中文字幕公布| 浪潮av一区| 国产有码一区二区| 99久久九九| 亚洲一区二区三区四区精品| 亚洲天天做日日做天天谢日日欢 | 欧美成人国产一区二区| 浪潮av一区| 亚洲free性xxxx护士白浆| 99re久久最新地址获取| 男女视频在线看| 中文字幕精品—区二区四季| 瑟瑟视频在线免费观看| 伊人伊成久久人综合网站 | 114国产精品久久免费观看| 亚洲久久久久| 四虎国产精品免费| 一个色妞综合视频在线观看| 高清国产mv在线观看| 欧美精品激情在线观看| 风间由美一区二区av101| 日韩视频免费播放| 91小视频在线观看| 极品国产91在线网站| 中文字幕精品www乱入免费视频| 国产精品诱惑| 最新av网址在线观看| 成人午夜视频福利| 国产在线观看黄色| 亚洲天堂av在线免费观看| 国产亚洲精品精品国产亚洲综合| 一本久久a久久精品vr综合| 激情偷乱视频一区二区三区| 紧身裙女教师波多野结衣| 欧美一卡2卡三卡4卡5免费| 欧美大片黄色| 久久久久久久久久久久久久久久av| 久久精品导航| 极品色av影院| 337p日本欧洲亚洲大胆精品| 中文日产幕无线码一区二区| 污视频在线免费观看一区二区三区| 精品制服美女丁香| 国产大片中文字幕| 亚洲日韩欧美视频| 日本午夜免费一区二区| www.好吊操| 国产日韩欧美精品在线| 精品国产亚洲一区二区麻豆| 欧美亚洲另类视频| 91亚洲人成网污www| 又黄又色的网站| 色又黄又爽网站www久久| 欧美成人性生活视频| 国产伦精品一区二区三区四区视频 | 1pondo在线播放免费| av蓝导航精品导航| 久久综合亚州| 欧美日韩在线视频免费| 精品亚洲一区二区三区| 成人综合日日夜夜| 国产精品视频一区二区三区四区五区| 中文字幕欧美国产| 少妇高潮久久久| 成人性生交xxxxx网站| 亚洲男女自偷自拍| 久久久久久久久精| 日韩一区二区久久久| 中文字幕av一区二区三区人| 亚洲AV成人精品| 欧美剧在线免费观看网站 |