日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

低碳 Web 實(shí)踐指南

來源: 責(zé)編: 時(shí)間:2023-08-09 23:02:45 339觀看
導(dǎo)讀作者 | 付瑩,梁晶,孫郁儼現(xiàn)狀和問題2023年7月6日,世界迎來有記錄以來最熱的一天。氣候變化是如今人類面臨的最大健康威脅。據(jù)世界衛(wèi)生組織預(yù)測(cè)2030年至2050年期間,氣候變化預(yù)計(jì)每年將造成約25萬人死亡。這是人們可以真

作者 | 付瑩,梁晶,孫郁儼liB28資訊網(wǎng)——每日最新資訊28at.com

現(xiàn)狀和問題

liB28資訊網(wǎng)——每日最新資訊28at.com

2023年7月6日,世界迎來有記錄以來最熱的一天。氣候變化是如今人類面臨的最大健康威脅。據(jù)世界衛(wèi)生組織預(yù)測(cè)2030年至2050年期間,氣候變化預(yù)計(jì)每年將造成約25萬人死亡。這是人們可以真切感受到的變化,而背后的主要推手是碳排放。liB28資訊網(wǎng)——每日最新資訊28at.com

而在萬物互聯(lián)的數(shù)字化時(shí)代,碳排放很重要的來源之一是互聯(lián)網(wǎng),全球三分之二的人口預(yù)計(jì)將在2023年通過互聯(lián)網(wǎng)連接。隨著人們對(duì)數(shù)據(jù)和網(wǎng)絡(luò)服務(wù)的需求日益增長,互聯(lián)網(wǎng)在數(shù)據(jù)中心、網(wǎng)絡(luò)通信和終端用戶設(shè)備等各個(gè)環(huán)節(jié)都消耗了大量電力,其碳排放也在不斷增加。如果我們將 Web 視為一個(gè)國家,那么它將在電力消耗方面排名第三,在污染方面排名第四。liB28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片liB28資訊網(wǎng)——每日最新資訊28at.com

需求分析階段

liB28資訊網(wǎng)——每日最新資訊28at.com

軟件膨脹(Software bloat)是一個(gè)老生常談的話題,Web 應(yīng)用中往往充斥著冗余的功能,甚至在企業(yè)軟件領(lǐng)域,可能有 50% 的功能幾乎從未被使用過,80% 的功能價(jià)值很低或沒有價(jià)值。冗余臃腫的復(fù)雜應(yīng)用,不但難以維護(hù)與擴(kuò)展,而且會(huì)增加應(yīng)用的運(yùn)行成本,導(dǎo)致能源浪費(fèi)。實(shí)現(xiàn)低碳 Web 應(yīng)用,并不意味著我們只能通過技術(shù)手段進(jìn)行“壓縮”,我們也可以“壓縮”需求,從源頭減少能源消耗,構(gòu)建一個(gè)功能精簡(jiǎn)、小而全的應(yīng)用。liB28資訊網(wǎng)——每日最新資訊28at.com

面對(duì)客戶急切的聲音:“我們需要這個(gè)功能,它對(duì)我們特別重要,我們現(xiàn)在就想要”,我們需要引導(dǎo)他們思考功能背后的價(jià)值:它真的可用、有用?它是僅有的解決方案嗎?它是否可以使用現(xiàn)有功能替代?同時(shí),更小的應(yīng)用也意味著更低的開發(fā)成本和更短的交付周期。liB28資訊網(wǎng)——每日最新資訊28at.com

設(shè)計(jì)階段

liB28資訊網(wǎng)——每日最新資訊28at.com

用戶行為與 Web 應(yīng)用的能耗效率息息相關(guān),每當(dāng)用戶開始使用 Web 應(yīng)用,用戶所使用的設(shè)備就會(huì)開始持續(xù)消耗能量,增加 Web 應(yīng)用的數(shù)據(jù)傳輸。用戶行為對(duì) Web 應(yīng)用能耗的影響,可能也遠(yuǎn)超我們的想象——預(yù)計(jì) 52% 的數(shù)字產(chǎn)品碳排放源于用戶設(shè)備。為了最大程度地減少應(yīng)用的使用能耗,我們可以優(yōu)化用戶旅程,精簡(jiǎn)用戶的操作流程,確保用戶通過最少的步驟達(dá)成目標(biāo)。liB28資訊網(wǎng)——每日最新資訊28at.com

此外,我們也需要從設(shè)計(jì)出發(fā),思考如何延長 Web 應(yīng)用的壽命。Web 應(yīng)用能兼容老舊設(shè)備,相當(dāng)于延長了設(shè)備的使用壽命,因?yàn)橛脩舨恍枰獮榧嫒輵?yīng)用而更換設(shè)備。liB28資訊網(wǎng)——每日最新資訊28at.com

除了用戶體驗(yàn),也有很多可以參考的綠色可持續(xù)設(shè)計(jì),例如:liB28資訊網(wǎng)——每日最新資訊28at.com

  • 采用更節(jié)能的配色方案:黑色是顯示器上能耗最低的顏色,深色模式和深色背景更為節(jié)能。
  • 減少使用自定義字體:盡可能使用系統(tǒng)字體,避免客戶端加載額外的字體文件,增加頁面數(shù)據(jù)傳輸量。
  • 更節(jié)能地使用圖片:圖片是最常見的靜態(tài)資源,更節(jié)能地使用圖片資源,比如使用高分辨率但文件更小的 WebP 格式圖片文件,可以大幅減少頁面權(quán)重。
  • 非必要不添加動(dòng)效和視頻:動(dòng)效與視頻可以提升用戶體驗(yàn),但也會(huì)增加頁面加載時(shí)的能耗。

開發(fā)階段

liB28資訊網(wǎng)——每日最新資訊28at.com

減少頁面權(quán)重

減少 Web 應(yīng)用頁面權(quán)重最直接的方法,就是避免一切不必要的數(shù)據(jù)傳輸:liB28資訊網(wǎng)——每日最新資訊28at.com

(1) 設(shè)定頁面權(quán)重閾值:將頁面確保的數(shù)據(jù)傳輸量保持在盡可能低的水平。通常建議頁面權(quán)重應(yīng)小于 1 MB,最好能夠不大于 500 KB。liB28資訊網(wǎng)——每日最新資訊28at.com

(2) 頁面只加載必要的資源,優(yōu)化頁面請(qǐng)求:liB28資訊網(wǎng)——每日最新資訊28at.com

  • 對(duì)于頁面組件、CSS 文件及靜態(tài)資源,可以使用懶加載策略,Critical CSS 策略,參考 Import on Interaction和 Import on Visibility 等實(shí)踐,只在需要時(shí)加載資源。
  • 刪除未被使用的 CSS 和 JS 文件,減少 HTML 中的 CSS 及 JS 內(nèi)聯(lián)代碼。
  • 壓縮 CSS 和 JS 文件,刪除文件中不必要的字符,使用文本壓縮使文件更小。
  • 在開發(fā)中引入功能全面的工具庫和框架可能會(huì)成為應(yīng)用的負(fù)擔(dān),畢竟我們并不會(huì)百分百使用引入框架的功能。通過選擇模塊化的 JS 框架,使用代碼替代或者按需加載一些體量龐大的工具庫,減少代碼文件大小。

(3) 按需使用三方服務(wù):在許多數(shù)字產(chǎn)品和服務(wù)中,追蹤用戶數(shù)據(jù)以及插入廣告的第三方服務(wù)往往會(huì)耗費(fèi)大量能源。此外,這些服務(wù)也會(huì)嚴(yán)重侵犯用戶隱私,并明顯降低用戶體驗(yàn)。第三方服務(wù)如果需要跟蹤數(shù)據(jù),應(yīng)向用戶說明收集的內(nèi)容和使用方式。要盡可能選擇侵入性最小、效率最高的方式收集數(shù)據(jù),確保只收集所需的數(shù)據(jù),并且支持用戶關(guān)閉追蹤。liB28資訊網(wǎng)——每日最新資訊28at.com

(4) 采用 PWA 應(yīng)用架構(gòu):漸進(jìn)式 Web 應(yīng)用(Progressive Web App,PWA)通過在用戶設(shè)備上緩存關(guān)鍵信息和信息資產(chǎn)以改善用戶體驗(yàn)并減少數(shù)據(jù)傳輸。用戶在訪問 PWA 緩存數(shù)據(jù)時(shí),可以實(shí)現(xiàn)零網(wǎng)絡(luò)數(shù)據(jù)傳輸。數(shù)據(jù)緩存不但可以減少由數(shù)據(jù)傳輸引起的碳排放,還可以改善網(wǎng)絡(luò)連接不穩(wěn)定對(duì)用戶體驗(yàn)的影響。相較于本地應(yīng)用程序和傳統(tǒng) Web 應(yīng)用,PWA 用戶響應(yīng)速度更快,能耗更低,碳排放更少。liB28資訊網(wǎng)——每日最新資訊28at.com

提升應(yīng)用能源利用率

在開發(fā)過程中,我們往往并不會(huì)優(yōu)先考慮運(yùn)行應(yīng)用產(chǎn)生的能源消耗,以及應(yīng)用運(yùn)行的硬件性能。一段低效代碼會(huì)隨著 Web 應(yīng)用的運(yùn)行,會(huì)持續(xù)影響應(yīng)用的能耗水平,我們可能已經(jīng)造成了難以預(yù)計(jì)的計(jì)算資源浪費(fèi)。開發(fā)人員不應(yīng)只考慮通過更簡(jiǎn)單、更快速的方式實(shí)現(xiàn)功能,還應(yīng)考慮功能的性能與能耗,選擇更低碳的方式實(shí)現(xiàn)功能:liB28資訊網(wǎng)——每日最新資訊28at.com

  • 遵循DRY(Don't repeat yourself )原則:在編碼過程中需要重視代碼的復(fù)用性。那些只能使用一次的代碼,不但難以維護(hù),浪費(fèi)開發(fā)時(shí)間,也會(huì)浪費(fèi)運(yùn)算資源與能源。
  • 使用更高效的算法和設(shè)計(jì)模式。雖然算法的時(shí)間效率和軟件碳強(qiáng)度并不總是成正比,但它們?nèi)匀幌嚓P(guān)。
  • 刪除或重構(gòu)未被使用的功能。這不但提高了能源效率,也使軟件更容易維護(hù)。
  • 選擇效率更高的編程語言:編譯型語言往往比解釋型語言最節(jié)能。Python 在 27 種語言中排名耗電量最高,Python 應(yīng)用程序可能會(huì)在大規(guī)模處理、存儲(chǔ)和網(wǎng)絡(luò)傳輸中產(chǎn)生巨大的能量消耗。

測(cè)試階段

liB28資訊網(wǎng)——每日最新資訊28at.com

我們可以將碳排量和代碼能耗效率作為測(cè)試驗(yàn)收的一部分,以下是一些檢測(cè)工具:liB28資訊網(wǎng)——每日最新資訊28at.com

(1) 碳排放計(jì)算工具:liB28資訊網(wǎng)——每日最新資訊28at.com

  • 在線計(jì)算工具:Ecograder、Website Carbon Calculator 和 Ecoping 等網(wǎng)站提供估算網(wǎng)頁碳排放的在線服務(wù)。
  • CO2.js: 是一個(gè) JavaScript 開源庫,用于估算網(wǎng)站、應(yīng)用和軟件在使用時(shí)產(chǎn)生的碳排放。
  • Sitespeed sustainability plugin:Sitespeed 是一款 Web 性能監(jiān)控工具,可以給出頁面碳排相關(guān)報(bào)告。
  • WebPageTest Carbon Control: WebPageTest 是一款開源網(wǎng)絡(luò)性能工具,其中Carbon Control 模塊可以估算每次訪問的碳足跡以及部署服務(wù)是否使用可再生能源。

(2) 代碼能耗效率掃描工具:liB28資訊網(wǎng)——每日最新資訊28at.com

  • CAST GreenIT Index: 自動(dòng)化代碼能耗分析工具,可以掃描靜態(tài)代碼中的能耗缺陷并給出相關(guān)修復(fù)建議。
  • ecoCode: SonarQube 的一款插件,可以檢測(cè)代碼中能源過度消耗等問題,旨在減少軟件在代碼級(jí)別的環(huán)境足跡。
  • Carbon CI pipeline tooling: Green Software Foundation 開發(fā)的靜態(tài)代碼掃描工具,可估算應(yīng)用的碳排量并集成 CI。

部署階段

liB28資訊網(wǎng)——每日最新資訊28at.com

在部署階段,使用可再生能源的托管服務(wù)部署 Web 應(yīng)用是最便捷有效的減碳實(shí)踐。你可以使用Green Web Foundation首頁提供的 Green Hosting 掃描工具檢測(cè)應(yīng)用的部署服務(wù)是否使用可再生能源。通常云服務(wù)供應(yīng)商會(huì)提供Green Hosting服務(wù),但如果當(dāng)前你使用的供應(yīng)商尚未提供此類服務(wù),可以考慮更換到支持Green Hosting的服務(wù)商。這會(huì)是一個(gè)重要的決策,但實(shí)施起來其實(shí)并不復(fù)雜,也不會(huì)增加成本。此外,數(shù)據(jù)傳輸?shù)奈锢砭嚯x越短,傳輸階段消耗的能源就越少。請(qǐng)盡量選擇將服務(wù)部署在離用戶更近的區(qū)域,尤其是分發(fā)靜態(tài)資源的 CDN 服務(wù)。liB28資訊網(wǎng)——每日最新資訊28at.com

實(shí)踐經(jīng)驗(yàn)分享

liB28資訊網(wǎng)——每日最新資訊28at.com

在Thoughtworks的一個(gè)內(nèi)部項(xiàng)目上,借助優(yōu)化一個(gè)主要的JS資源大小(從3.12MB 減小至 648KB),結(jié)合每月用戶訪問量和開源工具 CO2.js估算出每月數(shù)據(jù)傳輸減少了17GB,碳排放降低了79%。這僅僅是優(yōu)化了一個(gè)JS資源,如果每個(gè)頁面上的內(nèi)容都做到有用、可用和被使用,在技術(shù)上也能通過壓縮、緩存等方式減少資源大小,累加在一起會(huì)產(chǎn)生巨大的影響,特別是對(duì)于訪問量很大的 Web 應(yīng)用。liB28資訊網(wǎng)——每日最新資訊28at.com

目前很多IT從業(yè)者和公司已經(jīng)開始重視網(wǎng)站對(duì)環(huán)境的影響。Valentino (fashion house)與Karma Metrix公司合作來衡量其頁面和網(wǎng)站的能源性能并減少其影響。WordPress的Mailchimp插件的開發(fā)者通過減少其中一個(gè)文件20KB,每月可節(jié)省約59噸二氧化碳。Branch是由一群關(guān)注數(shù)字化技術(shù)與環(huán)境可持續(xù)性的人共同創(chuàng)建的在線雜志。Branch實(shí)現(xiàn)了一種設(shè)計(jì) —— 需求響應(yīng),利用來自電網(wǎng)強(qiáng)度和用戶位置的數(shù)據(jù),按照當(dāng)前用戶所在地的能源情況呈現(xiàn)不同的界面。例如當(dāng)電網(wǎng)需求較低且可再生能源比例較高時(shí),該網(wǎng)站顯示了自動(dòng)加載所有圖像,視頻和媒體內(nèi)容的完整體驗(yàn)。當(dāng)電網(wǎng)需求高且可再生能源利用較少時(shí),會(huì)通過強(qiáng)調(diào)替代文本(alt text)的方式來展示媒體內(nèi)容。用戶可以選擇點(diǎn)擊展示內(nèi)容,但內(nèi)容不會(huì)自動(dòng)加載。liB28資訊網(wǎng)——每日最新資訊28at.com

此外,W3C的可持續(xù)網(wǎng)頁設(shè)計(jì)社區(qū)目前正在合作制定一套指導(dǎo)方針,以幫助從事 Web 工作的人群創(chuàng)建更環(huán)保的數(shù)字產(chǎn)品和服務(wù),希望如同 Web Accessibility 權(quán)威標(biāo)準(zhǔn)WCAG(Web Content Accessibility Guidelines)一樣,建立互聯(lián)網(wǎng)的環(huán)境標(biāo)準(zhǔn)。目前有一個(gè)草案提議在HTTP headers加入請(qǐng)求的碳排放數(shù)據(jù),以便服務(wù)提供商和消費(fèi)者可以就網(wǎng)絡(luò)使用情況做出更明智的決策。liB28資訊網(wǎng)——每日最新資訊28at.com

不止低碳

liB28資訊網(wǎng)——每日最新資訊28at.com

技術(shù)手段可以幫助減少 Web 對(duì)環(huán)境的影響,但不僅僅是減碳。liB28資訊網(wǎng)——每日最新資訊28at.com

當(dāng)我們創(chuàng)建更易于訪問的數(shù)字產(chǎn)品來消除內(nèi)容障礙時(shí),通常還會(huì)提高性能和效率,從而會(huì)使用更少的資源。這意味著在助力 Web 無障礙性的同時(shí),也提高了性能。liB28資訊網(wǎng)——每日最新資訊28at.com

摩爾定律指出每 18 個(gè)月硬件的運(yùn)算能力就會(huì)提升一倍,但軟件卻無法跟上硬件的進(jìn)步。維爾特定律提到軟件變慢的速度永遠(yuǎn)快過硬件變快的速度,軟件效率每18個(gè)月減半,從而抵消了摩爾定律的所有好處。因此相比新設(shè)備,軟件在老舊設(shè)備上會(huì)耗費(fèi)越來越多的資源,造成不必要的碳排放,而低碳實(shí)踐可以減少頁面權(quán)重,所以一定程度上可以幫助精簡(jiǎn)軟件,讓軟件在舊設(shè)備上運(yùn)行順暢,延長舊設(shè)備更換周期,減少浪費(fèi)。liB28資訊網(wǎng)——每日最新資訊28at.com

據(jù)《2022年中國可持續(xù)消費(fèi)報(bào)告》統(tǒng)計(jì),消費(fèi)者對(duì)低碳消費(fèi)生活方式的理解主要集中在“綠色出行”(72.51%)、“環(huán)保材料”(66.68%)、“循環(huán)再生”(65.79%)、“垃圾分類”(60.76%)、 “節(jié)水節(jié)電”(60.33%)、“新能源車”(60.14%)這幾項(xiàng),而絕大多數(shù)互聯(lián)網(wǎng)用戶尚未注意互聯(lián)網(wǎng)也是需要綠色低碳的。實(shí)現(xiàn)綠色互聯(lián)網(wǎng)之路需要實(shí)踐者和使用者共同努力,因此可以借助 Web 應(yīng)用的低碳實(shí)踐構(gòu)建用戶意識(shí)。公眾低碳消費(fèi)意識(shí)越來越強(qiáng),也有利于我們?nèi)ホ`行負(fù)責(zé)任技術(shù)。liB28資訊網(wǎng)——每日最新資訊28at.com

作為IT從業(yè)者,我們應(yīng)該踐行負(fù)責(zé)任技術(shù) —— 積極思考并探索技術(shù)的價(jià)值、不可測(cè)的后果和負(fù)面的影響,主動(dòng)管理、減緩和降低技術(shù)的風(fēng)險(xiǎn)與傷害。我們是一切實(shí)踐的關(guān)鍵起點(diǎn),如何在早期最大限度避免把人所固有的認(rèn)知偏見和思維慣性帶入到設(shè)計(jì)和開發(fā)中顯得尤為重要。liB28資訊網(wǎng)——每日最新資訊28at.com

總結(jié)和展望

liB28資訊網(wǎng)——每日最新資訊28at.com

Web 應(yīng)用作為碳排放的一個(gè)重要來源,我們需要將低碳 Web 實(shí)踐融入到日常應(yīng)用開發(fā)的過程中。在業(yè)界,已經(jīng)有很多在低碳 Web 方面的研究,從 Web 應(yīng)用的設(shè)計(jì)到部署運(yùn)維都提供了相應(yīng)的工具和最佳實(shí)踐供大家參考。本文將相關(guān)實(shí)踐以軟件生命周期為主線進(jìn)行了整理匯總,同時(shí)也分享了簡(jiǎn)單的案例,供同業(yè)人員進(jìn)行參考和了解。liB28資訊網(wǎng)——每日最新資訊28at.com

隨著氣候變化的影響日益增大,部分國家已經(jīng)開始著手制定相關(guān)標(biāo)準(zhǔn)和政策,而我們 Web 從業(yè)者需要從意識(shí)、實(shí)踐等多方入手,在優(yōu)化 Web 應(yīng)用的時(shí)候,不僅僅為了性能和體驗(yàn)而優(yōu)化,也為了可持續(xù)而優(yōu)化,共同構(gòu)建綠色地球。liB28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-5146-0.html低碳 Web 實(shí)踐指南

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: Golang 中的 IO 包詳解:?jiǎn)巫止?jié)操作接口

下一篇: 如何高效使用Gherkin

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 主站蜘蛛池模板: 永泰县| 嘉禾县| 曲松县| 博乐市| 焉耆| 玉林市| 西和县| 铁岭市| 棋牌| 历史| 盈江县| 汤阴县| 扬州市| 南郑县| 砀山县| 渭南市| 长兴县| 都兰县| 无为县| 贵德县| 富裕县| 永川市| 肥城市| 广安市| 博湖县| 昭平县| 万山特区| 康平县| 沭阳县| 遂溪县| 柳江县| 肇庆市| 固镇县| 南康市| 通河县| 长治市| 甘泉县| 岳西县| 天柱县| 石城县| 青神县|