2020 年 Web 開發展望

做者:Areknawo

翻譯:瘋狂的技術宅前端

原文:https://areknawo.com/web-deve...vue

未經容許嚴禁轉載程序員

祝你們新年快樂!因爲本文的發表日期是 2020 年1月1日,因此我認爲這是討論將來的 366 天中 Web 開發的最佳時機!由於。。。是的,2020年是閏年!web

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

摘要typescript

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

JavaScript

有人喜歡,也有人討厭它,可是做爲第一集團的成員,我很高興地說 JavaScript 將會繼續存在。不只以一種基本的方式編碼(顯而易見),並且以最流行的、用途最普遍的編程語言之一處於領先地位。它遍佈 Web、桌面、移動設備、服務器甚至物聯網(IoT),而且在開源中的主導地位還會增長。編程

TypeScript

可是,在這種追求中並不是只有 JavaScript。除了 HTML 和 CSS,還有大量的 JS-compilable 語言。在這些語言中,TypeScript 是最著名的一種。因爲具備靜態類型的全部優勢,它最近受到了極大的歡迎。儘管它不會很快成爲 W3C 標準,但它受益於 JavaScript 的蓬勃發展。我幾乎在全部項目中都使用 TypeScript,但願到2020年會有更多的人這樣作。segmentfault

變化

那些對 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 開發的預測。不管你是否贊成,我都但願在下面的評論中看到你的建設性反饋和本身的預測!


本文首發微信公衆號:前端先鋒

歡迎掃描二維碼關注公衆號,天天都給你推送新鮮的前端技術文章

歡迎掃描二維碼關注公衆號,天天都給你推送新鮮的前端技術文章

歡迎繼續閱讀本專欄其它高贊文章:


相關文章
相關標籤/搜索