2020 年 Web 開發展望

2020 年 Web 開發展望

作者:Areknawo
翻譯:瘋狂的技術宅
原文:areknawo.com/web-develo
未經允許嚴禁轉載

祝大家新年快樂! 由於本文的發表日期是 2020 年1月1日,所以我認為這是討論未來的 366 天中 Web 開發的最佳時機! 因為。。。 是的,2020年是閏年!

首先是免責聲明,然後跳入實際內容。 顯然我不知道真正的未來會是什麼樣子,同時也沒有什麼成熟的數據分析能夠作為我假設的基礎。 這裡寫的所有內容只是我的個人觀點,也是對 Web 開發的方向的個人看法。 所有這些都是基於我的經驗和觀察。 如果你不同意我所寫的,這很正常! 當然你可以在評論中分享你的見解!

摘要

  • JavaScript 和排名前 3 名的 UI 框架將繼續繼續火熱;
  • Svelte 將會繼續發展
  • 雲計算,伺服器端程式設計和 JAMStack 會不斷增長;
  • 預處理和性能優化才是未來;
  • WASM 為Web 帶來了很多運算能力;
  • aterial Design、圓角、漸變和深色主題模式是當前的設計趨勢。

JavaScript

有人喜歡,也有人討厭它,但是作為第一集團的成員,我很高興地說 JAvaScript 將會繼續存在。 不僅以一種基本的方式編碼(顯而易見),而且以最流行的、用途最廣泛的程式設計語言之一處於領先地位。 它遍及 Web、桌面、行動裝置、伺服器甚至物聯網(IoT),並且在開源中的主導地位還會增加。

TypeScript

但是,在這種追求中並非只有 JAVAScript。 除了 HTML 和 CSS,還有大量的 JS-compilable 語言。 在這些語言中,TypeScript 是最著名的一種。 由於具有靜態類型的所有優點,它最近受到了極大的歡迎。 儘管它不會很快成為 W3C 標準,但它受益於 JAVAScript 的蓬勃發展。 我幾乎在所有專案中都使用 TypeScript,希望到2020年會有更多的人這樣做。

變化

那些對 JS 持有與我不同態度的人——還有一些適合你的東西。 儘管 JS 在可預見的未來不會涉及到所有領域,但又有誰知道它在下一個十年中將帶給我們什麼呢? 目前我只能說這種語言的主要焦點可能會有一些細微變化。 我們稍後再討論。

UI庫/框架

React、Vue 和 Angular 將會成為新的行業標準!

好吧,也許我有點誇張了! 認真地說,它們都是框架中的佼佼者。 獨立的生態系統和規模龐大的社區是無法忽視的。 他們不會那麼簡單。 React 幾乎是這個時代的jQuery(從其積極性、受歡迎的程度而言),Vue 通過 v3 得到了更多新功能和巨大的改進,並且 Angular...... 只是 Angular —— 你明白我的意思。

Svelte

但是,在該領域中有一位新成員,對其避而不談是很不明智的。 它名為 Svelte,目前正受到廣泛關注。 許多人甚至被認為會在 2020 年與「頂尖選手」競爭。

就我個人而言,我認為 Svelte 將很難滿足如此高的期望。 希望我錯了,因為它創建 UI 的方法非常新穎! 我說的是它在額外的"編譯步驟"中預處理代碼,來提供更小、更高效的用戶端包。 JS 的興起導致其功能被嚴重濫用。 如果 Svelte 能夠起飛,我們應該在預處理領域看到更多的發展,這對開發人員和使用者都將是有益的

伺服器端和雲端

考慮到 Svelte,可以肯定地說,越來越多的計算將會被移出用戶端。 以眾所周知的"雲"的形式存在。 我們有雲計算(例如AWS)、雲遊戲(例如Stadia)、雲端儲存(例如 Google Drive)以及許多其他服務和tools,它們都基於這種思想。 現在它正在進入 Web 開發!

我們已經習慣用雲端服務和第三方 API 來加速開發過程並提供某些功能。 通過依賴來自受信任供應商的多個此類API,我們的軟體不僅更安全,而且能夠發揮更多潛力甚至性能更高(與用戶端所有操作相比)。 因此我認為在未來幾年中,對雲服務的總體依賴將繼續增長。

靜態網站

但是我也想談談與雲不同的東西。 預處理的概念以及諸如 Svelte 之類的工具提供的眾所周知的附加編譯步驟。 在到達用戶端之前,還有許多性能方面的東西要實現。 例如,SSRJAMStack 已經流行了幾年。 他們無需付出太多努力即可提供出色的用戶端性能、SEO 和其他許多好處。 JavaScript 仍然會被用到,只是越來越少了。

預處理

一切都很好,但是靜態網站缺少動態網站所具有的某些功能,SSR 通常需要功能強大的伺服器才能正常運行。 總而言之,客戶端代碼對於執行其他許多操作仍然是必需的,並且有時可能成為瓶頸。 考慮到這一點,我認為類似於 Svelte 所做的預處理將在"代碼"的規模上得到更多的關注。

也許你聽說過 Facebook 的開源專案 Prepack,該專案旨在「部分評估」 JS 代碼? 在最終形式下,它應該能夠遍歷你的代碼並對其進行預處理,從而為你提供高度優化的結果。 目前該專案尚處於初期階段,開發工作停滯了,但我認為它很好地體現了預處理的整體構想。

性能

除了預處理和伺服器端優化之外,用戶端本身還有一些改進的空間。 隨著 JS 的飛速發展,現在它已用於一些非常苛刻的任務,而 JS 最初並不是為這些任務而設計的。 當然 JS 語言本身及其語法都很棒(儘管有時很麻煩),但是我想更多地談一談性能和執行方面。

V8

Google 的 V8 是領先於 JavaScript 引擎市場的。 它提供了最新功能、頂級性能以及所有出色的東西。 它第一個為我們提供了 JIT 編譯 功能,從而極大地縮短了 JS 代碼的執行時間。 得益於這一進步,JS 目前是市場上「最快的腳本語言」之一!

WASM

話雖如此,但 JS 的功能是有限的。 這就是創建 WebAssembly(WASM)的原因。 這是一種高效的格式,是 RustC++ 等語言的編譯目標。 根據程式的不同,它可能比 JS 快幾個數量級,從而使其成為可移植、高性能計算的理想選擇。

重要的是要知道 WASM 並不是要取代 JS。 恰恰相反,它將會處理所有繁重的任務,並使 JS 只專注於 UI。 憑藉其令人印象深刻的性能,我們最終將能夠創建可在任何地方運行的重應用(例如遊戲),並以其回應能力給使用者留下深刻的印象!

自 2017 年推出其最低可行產品(MVP)以來,WASM 一直在緩慢但成功地獲得新功能。 W3C已於 2019 年 12 月 5 日正式批准 WASM 作為第 4 種 Web 語言。 但它也可以在瀏覽器之外作為可移植模組使用。 這很容易說明 WASM 將會繼續向前發展。 誰知道呢——也許幾年後,我們將能夠在瀏覽器中玩 AAA 級的遊戲!

設計

最後我想通過介紹一些"設計趨勢"來總結這些預測。 你應該知道,即使代碼非常重要,但用戶體驗最多的還是設計和 UI。

材料設計(Material Design)

我認為今年的設計趨勢不會有太大的改變。 不,擬真設計(Skeuomorphism)不會再出現了。 與前幾年一樣,Google的材料設計(MD)將會成為主流。 但是,由於"可定製性"的需要,所以情況看起來可能會有所不同。

不同的品牌並不會都嚴格遵循 Google 制定的準則,而是會採用某些設計規範,並使用它們來形成自己的「獨特外觀」並在競爭中脫穎而出。 然而,諸如圓角、漸變、鮮豔的顏色和深色主題暗模式之類的東西將會很常見。 同樣,簡單性、用戶體驗(UX)和行動裝置將再次成為主要的關注點。

可訪問性

除了視覺內容外,可存取性(a11y)的重要性可能還會增加。 Web 越來越多地被各種各樣的人所佔據,為所有人提供良好的體驗應該是所有設計師的主要目標。

尤其是像社交媒體和新聞雜誌這樣更具通用性的網站應該為不同的殘疾人提供易用性。 但是,a11y 的意義遠不止於此,它通過回應鍵盤按鈕、觸摸手勢等細微細節,甚至提高了日常使用者的舒適度。 網站實施的這類功能越多,使用者越有可能會喜歡它。

該輪到你了

以上就是我對 2020 年 Web 開發的預測。 無論你是否同意,我都希望在下面的評論中看到你的建設性反饋和自己的預測!

歡迎掃描下方二維碼,免費獲得Vue前端教程。

u.wechat.com/MFtAF3OS8- (二維碼自動識別)

2020 年 Web 開發者學習路線

VS Code 成主宰、Vue 備受熱捧! 2019 前端開發趨勢必讀