手機用華為 推廣找展為

推廣有品質 網站有氣質

13933871212

首頁 > 博客教程 > 展為新聞 >

石家莊建設外貿網站價格

 發布日期:2020-12-12 瀏覽:842次
石家莊建設外貿網站價格由Imaging-heap(命令行工具)輸出的樣本,該工具可測量視口大小和設備像素比率之間的效率。(圖像來源)(大預覽)
隨著客戶提示的采用,響應式圖像的未來可能會發生巨大變化??蛻籼崾臼荋TTP請求報頭字段,例如DPR,Viewport-Width,Width,Save-Data,Accept(以指定圖像格式偏好)等。他們應該通知服務器有關用戶瀏覽器,屏幕,連接等的詳細信息。結果,服務器可以決定如何用適當大小的圖像填充布局,并僅以所需格式提供這些圖像。通過客戶端提示,我們將資源選擇從HTML標記移到了客戶端和服務器之間的請求-響應協商中。
 
正如Ilya Grigorik所指出的那樣,客戶提示使情況更完整了-它們不是響應式圖像的替代方案。“該<picture>元素在HTML標記中提供了必要的藝術方向控制??蛻舳颂崾驹谏傻膱D像請求上提供注釋,從而實現資源選擇自動化。ServiceWorker在客戶端上提供完整的請求和響應管理功能。” 例如,服務人員可以向請求添加新的客戶端提示標頭值,重寫URL并將圖像請求指向CDN,根據連接性和用戶首選項調整響應,等等。它不僅適用于圖像資產,而且適用以及幾乎所有其他要求。
 
對于支持客戶端提示的客戶端,可以衡量節省了42%的字節,少了70 %以上的字節1MB +。在Smashing Magazine上,我們也可以衡量19-32%的改善。不幸的是,客戶端提示仍然必須獲得一些瀏覽器支持。在Firefox中仍在考慮中。但是,如果同時提供正常的響應圖像標記和<meta>客戶端提示的標記,則瀏覽器將評估響應圖像標記,并使用客戶端提示HTTP標頭請求適當的圖像源。
 
還不夠好?好的,您還可以使用多 背景 圖像 技術來提高圖像的感知性能。請記住,使用對比度播放和模糊不必要的細節(或刪除顏色)也可以減小文件大小。嗯,您需要放大一張小照片而不損失畫質嗎?考慮使用Letsenhance.io。
 
到目前為止,這些優化僅涵蓋了基礎知識。Addy Osmani已發布了有關基本圖像優化的非常詳細的指南,該指南非常深入地介紹了圖像壓縮和色彩管理的細節。例如,您可以使圖像的不必要部分模糊(通過對它們應用高斯模糊濾鏡)以減小文件大小,更終您甚至可以開始刪除顏色或將圖片變成黑白以進一步減小大小。對于背景圖像,從Photoshop中以0到10%的質量導出照片也是絕對可以接受的。啊,不要在網絡上使用JPEG-XR —“ CPU上軟件側對JPEG-XR進行解碼的處理使字節大小節省的潛在積極影響無效,甚至超過了潛在的積極影響,尤其是在SPA的情況下”。
 
 
艾迪·奧斯曼(Addy Osmani)建議用循環內聯視頻替換動畫GIF。文件大小差異明顯(節省80%)。(大型預覽)
視頻是否經過適當優化?
到目前為止,我們已經涵蓋了圖像,但是我們避免了有關優質GIF的討論。坦白說,與其加載會影響渲染性能和帶寬的沉重動畫GIF,不如切換到動畫網站制作P(將GIF作為后備)或將其全部替換為循環HTML5視頻,這是一個好主意。是的,與圖像不同,瀏覽器不會預加載<video>內容,但是HTML5視頻往往比GIF更輕,更小。沒有選擇嗎?好吧,至少我們可以使用Lossy GIF,gifsicle或giflossy向GIF添加有損壓縮。
測試表明,img標簽內嵌視頻的顯示速度比GIF等效圖像快20倍,而解碼速度則比GIF快7倍,而文件大小卻要小得多。
 
在好消息的領域,視頻格式多年來一直在大量發展。長期以來,我們一直希望網站制作M成為統治一切的格式,而網站制作P(基本上是網站制作M視頻容器內部的一個靜止圖像)將替代過時的圖像格式。但是,盡管更近網站制作P和網站制作M獲得了 支持,但突破并未實現。
 
2018年,開放媒體聯盟發布了一種新的有前途的視頻格式,稱為AV1。AV1的壓縮類似于H.265編解碼器(H.264的演進),但與后者不同,AV1是免費的。H.265許可證的定價迫使瀏覽器供應商改用性能更好的AV1:AV1(就像H.265一樣)壓縮的效果是網站制作M的兩倍。
 
AV1標志2018
AV1很有可能成為網絡視頻的更終標準。(圖片來源:Wikimedia.org)(大預覽)
實際上,Apple當前使用HEIF格式和HEVC(H.265),而更新iOS上的所有照片和視頻均以這些格式保存,而不是JPEG。雖然HEIF和HEVC(H.265)尚未正確地暴露在網絡上(尚未?),但AV1是-并且正在獲得瀏覽器支持。因此,AV1在<video>標簽中添加源代碼是合理的,因為所有瀏覽器供應商似乎都參與其中。
 
目前,使用更廣泛且受支持的編碼是H.264,由MP4文件提供服務,因此在提供文件之前,請確保對MP4進行了多次編碼處理,并使用frei0r iirblur效果模糊處理(如果適用),并且當您的服務器接受字節服務時,moov atom元數據將移動到文件的開頭。Boris Schapira為FFmpeg提供了準確的說明,以更大限度地優化視頻。當然,提供網站制作M格式作為替代方法也會有所幫助。
 
是否需要開始更快地渲染視頻,但視頻文件仍然太大?例如,何時您在目標網頁上有大型背景視頻?常用的技術是先將第一幀顯示為靜止圖像,或顯示經過優化的短循環段,將其解釋為視頻的一部分,然后,只要視頻有足夠的緩沖,就開始播放實際的視頻。Doug Sillars撰寫了一份詳細的背景視頻性能指南,在這種情況下可能會有所幫助。(謝謝,Guy Podjarny?。?。
 
視頻播放性能本身就是一個故事,如果您想深入了解它,請查看Doug Sillars關于“視頻和視頻交付更佳狀態的更新實踐”的另一系列,其中包括有關視頻交付指標的詳細信息,視頻預加載,壓縮和流式傳輸。
 
Zach Leatherman的字體加載策略綜合指南
Zach Leatherman的《字體加載策略綜合指南》提供了十二種選擇,可以更好地交付網站制作字體。
網絡字體是否經過優化?
首先值得提出的第一個問題是,您是否可以擺脫使用UI系統字體的麻煩-只需確保仔細檢查它們在各種平臺上的正確顯示即可。如果不是這種情況,您提供的網站制作字體很有可能包含字形以及未使用的額外功能和粗細。您可以要求類型鑄造廠將網絡字體作為子集,或者如果您使用的是開放源代碼的字體,請使用Glyphhanger或Fontsquirrel自己對它們進行子集化。您甚至可以使用PeterMüller的子字體來自動化整個工作流程,這是一種命令行工具,可以靜態分析您的頁面以生成更佳的網站制作字體子集,然后將其注入到您的頁面中。
WOFF2支持非常好,您可以將WOFF用作不支持WOFF2的瀏覽器的后備,或者可以使用系統字體來很好地支持舊版瀏覽器。網站制作字體加載有很多很多選擇,您可以從Zach Leatherman的“字體加載策略綜合指南”中選擇一種策略(代碼片段也可以作為網站制作字體加載方法使用)。
 
今天可能要考慮的更好的選擇是“關鍵FOFT preload”和“折衷”方法。它們都使用兩階段渲染來逐步交付網站制作字體-首先需要一個小的超級子集,以使用網站制作字體快速準確地渲染頁面,然后加載其余的異步家族。區別在于,僅在不支持字體加載事件的情況下,“折衷”技術才會異步加載polyfill ,因此默認情況下您無需加載polyfill。需要快速獲勝?Zach Leatherman提供了23分鐘的快速教程和案例研究,以使您的字體井井有條。
 
通常,使用preload資源提示來預加載字體可能是一個好主意,但是在您的標記中,請包含指向關鍵CSS和JavaScript的鏈接之后的提示。使用preload,存在一個優先級難題,因此請考慮rel="preload"在外部阻止腳本之前將元素注入DOM。根據安迪·戴維斯(Andy Davies)的說法,“使用腳本注入的資源將從瀏覽器中隱藏,直到腳本執行為止,我們可以使用此行為來延遲瀏覽器發現preload提示時的時間。” 否則,字體加載會在第一次渲染時花費您的時間。
 
有選擇地是一個好主意并選擇更重要的文件,例如對于渲染至關重要的文件,或可以幫助您避免可見和破壞性的文本重排的文件。通常,Zach建議預先加載每個系列的一種或兩種字體-如果不太重要,則延遲某些字體的加載也很有意義。
 
在規則中local()定義a時,使用值(按名稱指代本地字體)已經很普遍font-family了@font-face:
 
/* Warning! Probably not a good idea! */
@font-face {
  font-family: Open Sans;
  src: local('Open Sans Regular'),
       local('OpenSans-Regular'),
       url('opensans.woff2') format ('woff2'),
       url('opensans.woff') format('woff');
}
復制
這個想法是合理的:一些流行的開源字體(例如Open Sans)已經預先安裝了一些驅動程序或應用程序,因此,如果該字體在本地可用,則瀏覽器不需要下載網站制作字體,并且可以顯示本地字體。立即字體。正如Bram Stein指出的那樣:“盡管本地字體與網絡字體的名稱匹配,但很可能不是同一字體。許多網絡字體與“桌面”版本不同。文本的呈現方式可能有所不同,某些字符可能會掉線回到其他字體,OpenType功能可能會完全丟失,或者行高可能會有所不同。”
 
另外,隨著字體隨著時間的推移而發展,本地安裝的版本可能與網絡字體大不相同,字符看起來也大不相同。因此,根據Bram所說,更好不要在@font-face規則中混合使用本地安裝的字體和網站制作字體。
 
沒有人喜歡等待內容顯示。使用font-displayCSS描述符,我們可以控制字體加載行為,并使內容立即(font-display: optional)或幾乎立即(font-display: swap)可讀。但是,如果要避免文本重排,我們仍然需要使用字體加載API,尤其是對重繪進行分組,或者在使用第三方主機時。當然,除非您可以將Google Fonts與Cloudflare Workers一起使用。
 
談論Google字體:盡管更近增加了對字體顯示的支持,但請考慮使用google-網站制作fonts-helper,這是一種輕松自如地托管Google字體的方法。如果可以的話,請始終自行托管字體以實現更大程度的控制。
 
通常,如果使用font-display: optional,更好不要同時使用preload它,因為它會及早觸發網站制作字體請求(如果您需要獲取其他關鍵路徑資源,則會導致網絡擁塞)。使用preconnect更快的跨域字體的請求,但要謹慎使用preload來自不同來源預裝字體wlll導致網絡爭用。Zach的網站制作字體加載食譜中介紹了所有這些技術。
 
這可能是一個好主意,選擇網頁字體的出(或至少第二級渲染)如果用戶已啟用減少運動中的無障礙偏好或已選擇在數據保護模式(見Save-Data頭)?;虍斢脩襞銮蛇B接速度很慢時(通過Network Information API)。更終,prefers-reduced-data如果用戶選擇了數據保存模式,我們也許還可以使用CSS媒體查詢來不定義字體聲明。如果Save-Data來自客戶端提示HTTP擴展的請求標頭是打開/關閉以允許與CSS一起使用,則媒體查詢基本上會公開。雖然還不完全。
 
要測量網站制作字體加載性能,請考慮“所有文本可見性”度量標準(加載所有字體并以網站制作字體顯示所有內容的時刻),“實際斜體時間”以及首次渲染后的“ 網站制作字體重排計數”。顯然,兩個指標越低,性能越好。重要的是要注意可變 字體可能需要大量的性能考慮。它們為設計師提供了更大的印刷選擇空間,但這是以單個串行請求為代價,而不是多個單個文件請求為代價的。該單個請求可能很慢,從而阻止了頁面上內容的呈現。因此,將字體進行子集并將其拆分為字符集仍然很重要。從好的方面來看,在默認情況下,使用可變字體,我們將只獲得一個重排,因此不需要JavaScript即可對重繪進行分組。
 
現在,什么將成為防彈網絡字體加載策略呢?子集字體并為兩階段渲染做好準備font-display,使用描述符聲明它們,使用字體加載API對重繪進行分組并將字體存儲在持久性服務工作者的緩存中。第一次訪問時,在阻止外部腳本之前注入腳本的預加載。如有必要,您可以使用Bram Stein的Font Face Observer。而且,如果您對衡量字體加載的性能感興趣,那么Andreas Marschke可以使用Font API和UserTiming API探索性能跟蹤。
 
更后,別忘unicode-range了將大字體分解為特定于語言的較小字體,并使用Monica Dinculescu的字體樣式匹配器,以更大程度地減少布局和網絡字體之間的差異,從而更大程度地減少布局上的刺耳變化。
 
未來看起來光明嗎?通過逐步豐富字體,更終我們可能能夠“僅在任何給定頁面上下載字體的所需部分,并隨后請求該字體以動態地”修補”原始下載內容,并在后續頁面上按要求添加其他字形集。意見”,正如Jason Pamental解釋的那樣。增量傳輸演示已經可用,并且正在進行中。
 
當一切都相似時,不同就吸引了。認識網絡藝術指導,這是我們關于設計和構建引人入勝的出色體驗的新書。受到復古印刷雜志的啟發,并帶有適合您工作的代碼段。
 
跳轉到目錄?
功能面板
構建優化
設置優先事項。
首先了解您要處理的是一個好主意。運行所有資產的清單(JavaScript,圖像,字體,第三方腳本和頁面上的“昂貴”模塊,例如輪播,復雜的信息圖表和多媒體內容),然后將它們按組細分。
設置電子表格。定義舊版瀏覽器的基本核心體驗(即完全可訪問的核心內容),功能強大的瀏覽器的增強體驗(即豐富的完整體驗)以及其他功能(不是絕對必需的并且可以延遲加載的資產),例如網絡字體,不必要的樣式,輪播腳本,視頻播放器,社交媒體按鈕,大圖像)。不久前,我們發表了一篇文章“改善Smashing Magazine的性能”,其中詳細介紹了這種方法。
 
在優化性能時,我們需要反映我們的優先事項。立即加載核心體驗,然后加載增強功能,然后加載Extras。
 
在生產中使用本機JavaScript模塊。
還記得優良的ol'cut -the-mustard技術將核心體驗發送到舊版瀏覽器,并將增強的體驗發送到現代瀏覽器嗎?該技術的更新版本可以使用ES2015 + <script type="module">,也稱為模塊/無模塊模式。
正如Philip Walton所寫的那樣,“該技術使用捆綁器和編譯器生成代碼庫的兩個版本,一個版本具有現代語法(通過加載<script type="module">),另一個具有ES5語法(通過加載<script nomodule>)。” 現代瀏覽器會將腳本解釋為JavaScript模塊并按預期運行它,而舊版瀏覽器將無法識別該屬性并忽略該屬性,因為該屬性是未知的HTML語法。我們可以將更少的代碼交付給支持模塊的瀏覽器,現在大多數框架和CLI都支持它。
 
但有一點警告提示:模塊/非模塊模式可能會在某些客戶端上適得其反,因此您可能需要考慮一種解決方法:杰里米(Jeremy)風險較小的差異服務模式,但是回避了預加載掃描程序,這可能會以某種可能不會影響性能的方式預料。(謝謝杰里米?。?/div>
 
實際上,匯總 支持將模塊作為輸出格式,因此我們可以捆綁代碼并在生產環境中部署模塊。Parcel剛剛在Parcel 2中添加了模塊支持。的網站制作Pack是不是 相當 有呢。另外,請注意正在考慮簡化構建過程和JavaScript模塊管理的Pika。
 
注意:值得指出的是,僅功能檢測還不足以做出關于要交付給該瀏覽器的有效負載的明智決定。就其本身而言,我們無法從瀏覽器版本推斷出設備功能。例如,發展中國家的廉價Android手機大多運行Chrome,盡管內存和CPU能力有限,但仍會降低芥末醬的品質。
 
更終,使用Device Memory Client Hints Header,我們將能夠更可靠地定位低端設備。在撰寫本文時,標頭僅在Blink中受支持(通常用于客戶端提示)。由于設備內存還具有Chrome瀏覽器中可用的JavaScript API ,因此一種選擇可能是基于該API進行功能檢測,如果不支持該功能,則可以使用模塊/非模塊技術(謝謝,Yoav?。?。
 
您是否正在使用搖樹,示波器吊裝和代碼拆分?
搖樹是通過僅包含生產中實際使用的代碼并消除網站制作pack中未使用的導入來清理構建過程的一種方法。使用網站制作pack和Rollup,我們還具有范圍提升功能,這兩種工具都可以檢測import鏈接可以在何處展平并轉換為一個內聯函數,而不會破壞代碼。借助網站制作pack,我們還可以使用JSON Tree Shaking。
另外,您可能需要考慮學習如何避免過時和昂貴的樣式。感覺超越了嗎?您還可以使用網站制作pack縮短類名,并使用范圍隔離在編譯時動態重命名CSS類名。
 
代碼拆分是網站制作pack的另一個功能,可將您的代碼庫拆分為按需加載的“塊”。并非必須立即下載,解析和編譯所有JavaScript。一旦在代碼中定義了分割點,網站制作pack就可以處理依賴關系和輸出文件。它使您可以保持較小的初始下載量,并在應用程序請求時按需請求代碼。Alexander Kondrov對網站制作pack和React的代碼拆分有一個很棒的介紹。
 
考慮使用preload-網站制作pack-plugin,該插件接受代碼拆分的路由,然后提示瀏覽器使用<link rel="preload">或對其進行預加載<link rel="prefetch">。網站制作pack內聯指令還可以對preload/進行一些控制prefetch。(但是請注意優先級問題。)
 
在哪里定義分割點?通過跟蹤使用了哪些CSS / JavaScript塊,哪些未使用。Umar Hansa解釋了如何使用Devtools的Code Coverage實現它。
 
如果您不使用網站制作pack,請注意,與良好的Browserify導出相比,匯總顯示的結果要好得多。在我們討論過程中,您可能想要查看rollup-plugin-closure-compiler和Rollupify,它們將ECMAScript 2015模塊轉換為一個大的CommonJS模塊-因為小模塊可能會具有驚人的高性能成本,這取決于您選擇的捆綁器和模塊系統。
 
在處理單頁面應用程序時,我們需要一些時間來初始化應用程序,然后才能呈現頁面。您的設置將需要您的自定義解決方案,但是您可以提防模塊和技術,以加快初始渲染時間。例如,這里是調試React性能并消除常見React性能問題的方法,這是如何提高Angular性能的方法。通常,大多數性能問題來自啟動應用程序的初始時間。
 
那么,主動而不是過于主動地進行代碼拆分的更佳方法是什么?菲爾·沃爾頓(Phil Walton)表示,“除了通過動態導入進行代碼拆分外,[我們還可以]在包級別使用代碼拆分,其中每個導入的節點模塊都根據包的名稱放入塊中。” Phil還提供了有關如何構建它的教程。
 
您可以將JavaScript卸載到網站制作 Worker中嗎?
為了減少對交互時間的負面影響,更好考慮將繁重的JavaScript卸載到網站制作 Worker中或通過Service Worker進行緩存。
隨著代碼庫的不斷增長,UI性能瓶頸將顯現出來,從而減慢了用戶的體驗。這是因為DOM操作在主線程上與JavaScript一起運行。使用網站制作 worker,我們可以將這些昂貴的操作轉移到在其他線程上運行的后臺進程中。網站制作工作者的典型用例是預取數據和Progressive 網站制作 Apps來預先加載和存儲一些數據,以便以后可以在需要時使用它。而且,您可以使用Comlink來簡化主頁和輔助程序之間的通信。仍有一些工作要做,但我們正在實現。
 
如何開始?以下是一些值得研究的資源:
 
Surma已發布了一份出色的指南,說明如何在瀏覽器的主線程上運行JavaScript。該帖子還以Surma的演講為特色,解釋了主線程架構。
Workerize允許您將模塊移動到網站制作 Worker中,自動將導出的功能反映為異步代理。
如果您使用的是網站制作pack,則可以使用workerize-loader。另外,您也可以使用worker-plugin。
請注意,網站制作 Workers無法訪問DOM,因為DOM不是“線程安全的”,并且他們執行的代碼需要包含在單獨的文件中。
 
您可以將“熱門路徑”卸載到網站制作Assembly嗎?
我們可以將繁重的計算任務轉移給網站制作Assembly(WASM),它是一種二進制指令格式,被設計為可移植的目標,用于編譯高級語言(如C / C ++ / Rust)。它對瀏覽器的支持非常出色,并且隨著JavaScript和WASM之間的函數調用越來越快,它更近變得可行。另外,它甚至在Fastly的邊緣云中也受支持。
當然,網站制作Assembly不能替代JavaScript,但是可以在發現CPU占用時對其進行補充。對于大多數網站制作應用程序來說,JavaScript更適合,而網站制作Assembly更適合用于計算密集型網站制作應用程序,例如網站制作游戲。
 

返回列表

相關新聞

CopyRight 2004-2018 JSOON NETWORK , Inc. All Rights Reserved 石家莊網絡公司展為網絡十周年? ?服務熱線:13933871212???冀ICP備14018173號-6? ?
致力于提供石家莊網站制作,石家莊網站建設,石家莊營銷型網站制作,石家莊seo,石家莊網站優化,石家莊網絡廣營銷,石家莊建網站等服務 網站地圖

深圳风采中三个有奖吗 极速赛车冠军3码计划 上海麻将敲麻规则 时时彩分析软件 百家乐筹码套装 福彩幸运农场的玩法 摩天之星培训合法吗 狗狗币官网注册重启桌 aika日本3d真人游戏—官方网址 钱柜娱乐平台 足彩半全场胜负平 棒球比分捷报 比特币暴涨暴跌的正反面影响 金龙棋牌平台官网 21点技巧安卓版_点击登陆 七星彩票软件 青海11选5视频