精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

综合视频在线| 色成人免费网站| 成人动漫av在线| 国产91久久婷婷一区二区| 欧美午夜激情影院| 亚洲国产欧美国产第一区| 五月天视频一区| 婷婷久久五月天| 午夜免费福利视频| 久久综合图片| 欧美美女操人视频| 一级肉体全黄裸片| 综合欧美亚洲| 欧美日韩中文一区| 水蜜桃色314在线观看| jzzjzzjzz亚洲成熟少妇| 国产高清视频一区| 国产成人精品日本亚洲| 欧美日韩中文字幕在线观看| 久草成人资源| 亚洲国产精彩中文乱码av| 久久婷五月综合| 是的av在线| 亚洲免费成人av| 日韩中文字幕一区二区| 天堂中文字幕av| 高清av电影在线观看| 亚洲精品免费观看| 精品国产一区二区三区久久狼5月 精品国产一区二区三区久久久狼 精品国产一区二区三区久久久 | 日韩亚洲视频在线| 国产 欧美 精品| 紧缚捆绑精品一区二区| 热久久美女精品天天吊色| 四虎免费在线视频| 久久视频国产| 尤物tv国产一区| 国产精品无码一区二区三区免费| 亚州一区二区| 日韩一区二区中文字幕| 日本不卡一区二区在线观看| 成人啊v在线| 日韩欧美精品免费在线| 日韩欧美一区二| 在线免费观看污| 亚洲天天做日日做天天谢日日欢| 先锋影音网一区| 成年人在线视频| 欧美极品美女视频| 亚洲精品成人三区| seseavlu视频在线| 国产精品福利在线播放| 伊人久久99| 色哟哟免费在线观看| 中文av一区二区| 日韩区国产区| shkd中文字幕久久在线观看| 中文幕一区二区三区久久蜜桃| 日本一区不卡| 成年人在线观看视频| 国产免费观看久久| 亚洲成人一区二区三区| 在线观看精品一区二区三区| 日本一二三四高清不卡| 在线综合视频网站| 韩国无码av片在线观看网站| 亚洲 精品 综合 精品 自拍| 99这里只有久久精品视频| 国内精品二区| 日韩在线无毛| 国产蜜臀av在线一区二区三区| 日本精品国语自产拍在线观看| 国产黄色免费在线观看| 国产精品丝袜在线| 懂色av一区二区三区四区五区| 91精品久久| 亚洲高清中文字幕| av片中文字幕| 婷婷久久综合九色综合99蜜桃| 欧美猛男超大videosgay| 亚洲精品在线视频播放| jizz18欧美18| 亚洲人成免费电影| 亚洲成人生活片| 中文高清一区| 国产精品久久久久久久午夜| 国产露脸91国语对白| 成人视屏免费看| 先锋在线资源一区二区三区| 在线不卡日本v二区707| 欧美视频专区一二在线观看| www.亚洲高清| 亚洲欧美日本国产| 亚洲情综合五月天| 欧美成人三级视频| 久久激情一区| 91成人免费视频| 天堂在线观看免费视频| 中文字幕一区二区三区四区不卡| 无码粉嫩虎白一线天在线观看 | 国产精品免费视频久久久| 99热这里只有精品1| 91麻豆视频网站| 美国av在线播放| 在线毛片观看| 日韩免费观看高清完整版| 最近中文字幕免费视频| 91精品秘密在线观看| 欧洲日韩成人av| 精品国产免费无码久久久| 久久精品欧美日韩精品| 激情五月六月婷婷| 欧美成人三级| 日韩精品久久久久久久玫瑰园| 四虎地址8848| 免费永久网站黄欧美| 97超碰人人模人人爽人人看| 成人精品一区二区| 天天综合天天做天天综合| 天天爽夜夜爽视频| 欧美日韩性在线观看| 久久久影视精品| 国产精品无码一区二区桃花视频| 久久久亚洲精品一区二区三区| 国产人妻人伦精品| 黄色成人小视频| 国产一区二区三区精品久久久| 日韩黄色三级视频| 国产精品一区二区三区99| 亚洲精品自在在线观看| 黄色综合网址| 日韩电影网在线| 九热这里只有精品| 国产成人综合自拍| 中文字幕av导航| 国产精品第一国产精品| 伊人久久男人天堂| 免费看一级视频| 久久综合久久综合亚洲| 国产网站免费在线观看| 欧美激情网址| 57pao精品| 亚洲av片在线观看| 欧美色图在线视频| 欧美图片一区二区| 久久久xxx| 欧美精品尤物在线| 免费成人直播| 亚洲色图25p| 四虎影院在线免费播放| 久久免费的精品国产v∧| 无码精品a∨在线观看中文| 国产成人av毛片| 国内免费久久久久久久久久久 | 欧妇女乱妇女乱视频| 88久久精品| 97国产suv精品一区二区62| 免费av一级片| 五月天欧美精品| 亚洲熟妇无码av| 日韩国产成人精品| 艳色歌舞团一区二区三区| 亚洲日韩中文字幕一区| 久久视频在线视频| av在线资源观看| 亚洲五码中文字幕| 影音先锋黄色资源| 久久国产精品久久久久久电车| 日韩欧美三级一区二区| 国产精品亚洲成在人线| 久久中文精品视频| 亚洲av无码一区二区三区dv| 亚洲成a人v欧美综合天堂下载 | 93在线视频精品免费观看| 成人激情视频小说免费下载| 羞羞网站在线免费观看| 亚洲精品国产精品国产自| 精品久久久久久久久久久国产字幕| 久久精品无码一区二区三区| www.久久久精品| 国产精品多人| 欧美高清性xxxxhd| 精品美女一区| 久久久噜久噜久久综合| 精品欧美不卡一区二区在线观看| 欧美影院午夜播放| 免费人成视频在线| 国产欧美日韩精品一区| 香蕉视频在线观看黄| 美女诱惑黄网站一区| a级黄色片网站| 欧美sss在线视频| 国产精品美女免费看| 国产蜜臀一区二区打屁股调教| 亚洲美女激情视频| 国产深喉视频一区二区| 福利微拍一区二区| 国产精品视频一区二区三 | 一区二区不卡视频| 老司机精品视频在线播放| 国产精品一区二区三区久久| 92久久精品| 日韩在线视频网站| 亚洲aaaaaaa| 日韩一级二级三级精品视频| 中文字幕黄色片| 亚洲国产精品麻豆| 一本一本久久a久久| 91麻豆福利精品推荐| 性生活在线视频| 免费观看久久久4p| 国产精品无码av在线播放| 91精品国产自产在线观看永久∴ | 国产精品青青在线观看爽香蕉| a'aaa级片在线观看| 欧美精品videos另类日本| 中文字幕在线视频一区二区| 夜夜精品视频| 天天爱天天做天天操| 亚洲第一论坛sis| 亚洲综合中文字幕在线观看| 成人看片网页| 中文字幕精品国产| 国产又粗又猛又爽又黄av | 国产精品国产三级国产aⅴ中文| 久久无码专区国产精品s| 九一久久久久久| 国产精品入口免费软件| 国产精品乱看| 国产日本在线播放| 国产深喉视频一区二区| 欧美视频在线观看一区| 日本天堂网在线| 亚洲成人自拍一区| 免费日韩在线视频| 亚洲久本草在线中文字幕| 成人信息集中地| 国产精品美女久久久久久2018| 五月婷婷综合在线观看| 99久久精品99国产精品| 稀缺小u女呦精品呦| 国产成人丝袜美腿| 亚洲午夜精品在线观看| 国产不卡在线一区| 国产又黄又嫩又滑又白| 国产宾馆实践打屁股91| 久久久久亚洲av无码麻豆| 激情文学综合丁香| 一区二区三区四区毛片| 激情欧美一区二区三区在线观看| 一级特黄性色生活片| 蜜桃av噜噜一区| 日本中文字幕二区| 国产一区二区女| 少妇性l交大片7724com| 国产电影一区二区三区| 国产一级免费片| 26uuu精品一区二区在线观看| 国产三级国产精品| 国产欧美日韩在线| 日韩一级免费视频| 成人白浆超碰人人人人| 337p日本欧洲亚洲大胆张筱雨| 国产精品一二三四| 亚洲av综合色区无码另类小说| 国产成人av电影免费在线观看| 亚洲成人福利视频| www.日韩在线| 色欲av无码一区二区三区| 国产性天天综合网| 欧美色视频一区二区三区在线观看| 亚洲欧洲日韩在线| 青春草免费视频| 亚洲va欧美va人人爽| 中文字幕视频网站| 欧美中文字幕一区| 国产精品无码在线播放 | 亚洲成人福利在线| 国产在线精品视频| 国产毛片毛片毛片毛片毛片毛片| 国产亚洲福利社区一区| 国产色无码精品视频国产| 亚洲午夜激情网页| www.com亚洲| 日韩欧美久久久| 黄网站在线观看| 久久福利视频导航| 天堂√8在线中文| 成人免费大片黄在线播放| 国产乱人伦丫前精品视频| 亚洲AV无码精品国产| 日韩av在线一区二区| 国产在线一二三区| 久久综合伊人77777蜜臀| 蜜桃麻豆av在线| 成人a在线视频| 日韩手机在线| 中文字幕一区二区三区乱码 | 成人一区二区三| 国产一二精品视频| 在线不卡av电影| 亚洲成人黄色影院| 亚洲天堂中文在线| 亚洲激情视频网| 黄色一级片在线观看| 欧美一区二区三区四区在线| 欧美精品影院| 亚洲日本精品| 欧美专区一区二区三区| 亚洲av无码久久精品色欲| 久久久久久久性| 国产精品a成v人在线播放| 欧美日韩亚洲另类| 男人天堂资源在线| 国内成人精品视频| а天堂中文最新一区二区三区| 欧美日韩在线高清| 国产综合激情| 五月天六月丁香| 国产精品久久久久久久久免费桃花| 亚洲精品午夜国产va久久成人| 欧美一区二区三区在线观看 | 中文久久久久久| 91在线视频免费观看| 久久久国产精品黄毛片| 欧美精品粉嫩高潮一区二区| 成人亚洲性情网站www在线观看| 欧美亚洲伦理www| 国产精品久久久网站| 大荫蒂性生交片| 国产一区二区视频在线| 天堂а√在线中文在线鲁大师| 欧美午夜在线一二页| 久久久久久女乱国产| 欧美一区二区三区免费视| 久久精品色综合| 韩日视频在线观看| 国产激情视频一区二区三区欧美| 美国黄色片视频| 欧美人牲a欧美精品| 色三级在线观看| 91色p视频在线| 亚洲大全视频| 麻豆网站免费观看| 亚洲视频狠狠干| 国产喷水福利在线视频| 欧美成aaa人片免费看| 视频在线观看免费影院欧美meiju| 国产日韩欧美大片| 国产成人午夜高潮毛片| 国产精品不卡av| 日韩国产精品亚洲а∨天堂免| 在线最新版中文在线| 欧美视频观看一区| 日本美女一区二区| 久久久久久久麻豆| 欧美一级在线免费| 国产偷倩在线播放| 免费看成人片| 日韩和欧美的一区| 国内毛片毛片毛片毛片毛片| 91精品国产综合久久小美女| 1区2区在线观看| 国产视频在线观看一区| 香蕉久久国产| 亚洲一级理论片| 日韩一级完整毛片| 国产精品xx| 视频在线99| 国产精品一区二区你懂的| 九九热国产视频| 国产一区二区久久精品| 国产日韩中文在线中文字幕| 人人妻人人澡人人爽欧美一区双 | 欧美videossex另类| 精品国产区在线| 欧美a一区二区| 欧美日韩国产精品综合| 亚洲乱码国产乱码精品精天堂| 69堂精品视频在线播放| 好吊色视频988gao在线观看| 91亚洲大成网污www| 伊人久久中文字幕| 欧美美最猛性xxxxxx| 欧美猛男男男激情videos| 天天色天天综合网| 欧美日韩国产精品| 激情在线小视频| 久久精品日韩| 国产在线精品一区二区夜色| 日韩熟女精品一区二区三区| 在线免费观看羞羞视频一区二区| 日韩免费精品| 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 亚洲成人精品在线| 韩国成人在线| 9色porny| 一区在线中文字幕| 三级在线电影| 成人精品一二区| 日产欧产美韩系列久久99|