摘要:使用可以輕松進(jìn)行事件綁定。解決了中固有的許多性能問題,例如并發(fā)請(qǐng)求限制和缺少頭壓縮。由于圖像構(gòu)成消耗了大部分的性能,因此圖像優(yōu)化代表了提升性能的獨(dú)特機(jī)會(huì)。
1、精簡你的資源
構(gòu)建高性能應(yīng)用程序的有效方法是審核發(fā)送給用戶的資源。雖然Chrome開發(fā)人員工具中的網(wǎng)絡(luò)面板可以很好地總結(jié)給定頁面上使用的所有資源,但如果您到目前為止尚未考慮性能,那么知道從哪里開始是很重要的。以下是一些建議:
如果您使用Bootstrap或Foundation來構(gòu)建UI,請(qǐng)問自己是否有必要。這些資源添加了瀏覽器必須下載,解析和應(yīng)用于頁面的大量CSS,所有這些都是在特定于站點(diǎn)的CSS進(jìn)入圖片之前。 Flexbox和Grid在使用相對(duì)較少的代碼創(chuàng)建簡單和復(fù)雜布局方面非常出色。由于CSS是一種渲染阻塞資源,因此CSS框架的開銷可能會(huì)顯著延遲渲染。您應(yīng)該通過消除不必要的開銷來加速渲染,盡可能依賴于瀏覽器中的工具。
JavaScript庫很方便,但并不總是必要的。以jQuery為例:由于querySelector 和 querySelectorAll等方法,元素選擇得到了極大的簡化。使用addEventListener可以輕松進(jìn)行事件綁定。 addEventListener. classList, setAttribute, 和getAttribute提供了使用類和元素屬性的簡便方法。如果你必須使用圖書館,研究更精簡的替代品。例如,Zepto是一個(gè)較小的jQuery替代品,Preact是React的一個(gè)小得多的替代品。
并非所有網(wǎng)站都需要是單頁面應(yīng)用程序(SPA),因?yàn)樗鼈兘?jīng)常廣泛使用JavaScript。 JavaScript在web是一種重消耗的資源,因?yàn)樗粌H必須下載,還必須解析,編譯和執(zhí)行。例如,具有優(yōu)化前端架構(gòu)的新聞和博客站點(diǎn)可以像傳統(tǒng)的多頁體驗(yàn)一樣表現(xiàn)良好。特別是如果正確配置了HTTP緩存,并且可選地,如果使用了service worker。
2、如何發(fā)送資源當(dāng)您知道需要為您的應(yīng)用發(fā)送哪些資源以使其成為您想要的美觀和功能時(shí),請(qǐng)考慮下一步如何發(fā)送它們。如何發(fā)送資源對(duì)于構(gòu)建快速用戶體驗(yàn)至關(guān)重要。
遷移到HTTP / 2。 HTTP / 2解決了HTTP / 1.1中固有的許多性能問題,例如并發(fā)請(qǐng)求限制和缺少頭壓縮。
使用資源提示加快資源交付。 rel = preload是一個(gè)這樣的資源提示,它允許在瀏覽器發(fā)現(xiàn)它們之前提前獲取關(guān)鍵資源。這可以對(duì)頁面呈現(xiàn)產(chǎn)生明顯的積極影響,并在明智地使用時(shí)降低交互時(shí)間。 rel = preconnect是另一個(gè)資源提示,可以掩蓋為第三方域上托管的資源打開新連接的延遲。
3、優(yōu)化數(shù)據(jù)大小有了一些關(guān)于哪些資源適合發(fā)送的想法以及_how_你應(yīng)該發(fā)送它們,我們將介紹一些限制你發(fā)送的_how much_數(shù)據(jù)的建議:
縮小文本資源??s小是在基于文本的資源中刪除不必要的空格,注釋和其他內(nèi)容。它可以顯著減少您發(fā)送給用戶的數(shù)據(jù)量,而不會(huì)影響功能。在JavaScript中使用uglification以通過縮短變量和方法名稱來進(jìn)一步節(jié)省成本。由于SVG是基于文本的圖像格式,因此可以使用SVGO進(jìn)行優(yōu)化。
配置服務(wù)器以壓縮資源。壓縮資源會(huì)大大減少您發(fā)送給用戶的數(shù)據(jù)量,尤其是在涉及文本資產(chǎn)的情況下。 GZIP在這個(gè)領(lǐng)域是一種令人尊敬的格式,但Brotli.壓縮可以更進(jìn)一步。但是,要理解壓縮并不是性能問題的全部:一些隱式壓縮的文件格式(例如,JPEG,PNG,GIF,WOFF等)不響應(yīng)壓縮,因?yàn)樗鼈円呀?jīng)被壓縮。
優(yōu)化圖像 以確保您的網(wǎng)站盡可能少地發(fā)送圖像數(shù)據(jù)。由于圖像構(gòu)成消耗了大部分的性能,因此圖像優(yōu)化代表了提升性能的獨(dú)特機(jī)會(huì)。
如果您有時(shí)間,請(qǐng)考慮提供其他圖像格式。 WebP享有相當(dāng)廣泛的瀏覽器支持,并且可以在保持類似視覺質(zhì)量的同時(shí)削弱文件大小的既定格式。 JPEG XR是IE和Edge支持的另一種替代格式,可提供類似的節(jié)省。
響應(yīng)地傳送圖像。各種各樣的設(shè)備及其屏幕提供了一個(gè)巨大的機(jī)會(huì),通過發(fā)送最適合查看它們的屏幕的圖像來提高性能。在最簡單的用例中,您可以向元素添加srcset屬性 ,以指定瀏覽器可以選擇的圖像數(shù)組。在更復(fù)雜的方面,您可以使用幫助瀏覽器選擇最佳格式(例如,WebP over JPEG或PNG),或者為不同的屏幕尺寸提供不同的圖像處理。
使用視頻而不是動(dòng)畫GIF。動(dòng)畫GIF非常龐大,但質(zhì)量相近的視頻要小得多,通常大約80%左右。如果您的網(wǎng)站大量使用動(dòng)畫GIF,這可能是您可以做的最有效的事情,以提高加載性能。
客戶端提示 可用于根據(jù)當(dāng)前網(wǎng)絡(luò)條件和設(shè)備特征定制資源交付。 DPR,Width和Viewport-Width標(biāo)頭可以幫助您使用服務(wù)器端代碼為設(shè)備提供最佳圖像,并提供更少的標(biāo)記。 Save-Data標(biāo)頭可以幫助您為明確要求您的用戶提供更輕松的應(yīng)用程序體驗(yàn)。
NetworkInformation API公開有關(guān)用戶網(wǎng)絡(luò)連接的信息。此信息可用于修改較慢網(wǎng)絡(luò)上的用戶的應(yīng)用程序體驗(yàn)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/96500.html
摘要:特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 本以為自己收藏的站點(diǎn)多,可以很快搞定,沒想到一入?yún)R總深似海。還有很多不足&遺漏的地方,歡迎補(bǔ)充。有錯(cuò)誤的地方,還請(qǐng)斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應(yīng)和斧正,會(huì)及時(shí)更新,平時(shí)業(yè)務(wù)工作時(shí)也會(huì)不定期更...
摘要:使用可以輕松進(jìn)行事件綁定。解決了中固有的許多性能問題,例如并發(fā)請(qǐng)求限制和缺少頭壓縮。由于圖像構(gòu)成消耗了大部分的性能,因此圖像優(yōu)化代表了提升性能的獨(dú)特機(jī)會(huì)。 1、精簡你的資源 構(gòu)建高性能應(yīng)用程序的有效方法是審核發(fā)送給用戶的資源。雖然Chrome開發(fā)人員工具中的網(wǎng)絡(luò)面板可以很好地總結(jié)給定頁面上使用的所有資源,但如果您到目前為止尚未考慮性能,那么知道從哪里開始是很重要的。以下是一些建議: ...
摘要:使用可以輕松進(jìn)行事件綁定。解決了中固有的許多性能問題,例如并發(fā)請(qǐng)求限制和缺少頭壓縮。由于圖像構(gòu)成消耗了大部分的性能,因此圖像優(yōu)化代表了提升性能的獨(dú)特機(jī)會(huì)。 1、精簡你的資源 構(gòu)建高性能應(yīng)用程序的有效方法是審核發(fā)送給用戶的資源。雖然Chrome開發(fā)人員工具中的網(wǎng)絡(luò)面板可以很好地總結(jié)給定頁面上使用的所有資源,但如果您到目前為止尚未考慮性能,那么知道從哪里開始是很重要的。以下是一些建議: ...
摘要:怎樣才算是高性能的應(yīng)用性能和速度不是一對(duì)同義詞。紅線表示針對(duì)速度進(jìn)行了優(yōu)化的腳本,藍(lán)線是可擴(kuò)展性優(yōu)先的腳本。將任何這些功能置于循環(huán)中可能會(huì)導(dǎo)致性能問題。完整的代碼檢測評(píng)估雖然可能很耗時(shí),但它可以為你提供有關(guān)應(yīng)用程序性能的深入信息。 showImg(https://segmentfault.com/img/bVNxDn?w=900&h=500);程序員都喜歡最新的PHP 7,因?yàn)樗筆H...
摘要:端優(yōu)談?wù)勱P(guān)于前端的緩存的問題我們都知道對(duì)頁面進(jìn)行緩存能夠有利于減少請(qǐng)求發(fā)送,從而達(dá)到對(duì)頁面的優(yōu)化。而作為一名有追求的前端,勢必要力所能及地優(yōu)化我們前端頁面的性能。這種方式主要解決了淺談前端中的過早優(yōu)化問題過早優(yōu)化是萬惡之源。 優(yōu)化向:單頁應(yīng)用多路由預(yù)渲染指南 Ajax 技術(shù)的出現(xiàn),讓我們的 Web 應(yīng)用能夠在不刷新的狀態(tài)下顯示不同頁面的內(nèi)容,這就是單頁應(yīng)用。在一個(gè)單頁應(yīng)用中,往往只有一...
閱讀 2933·2023-04-26 02:22
閱讀 2291·2021-11-17 09:33
閱讀 3138·2021-09-22 16:06
閱讀 1078·2021-09-22 15:54
閱讀 3539·2019-08-29 13:44
閱讀 1917·2019-08-29 12:37
閱讀 1323·2019-08-26 14:04
閱讀 1917·2019-08-26 11:57