「Web趨勢」JavaScript和Web開發InfoQ趨勢報告

關鍵的買點

  1. 新的JavaScript、CSS、HTML和WebAssembly標準的速度正在加快,以覆蓋現代應用程序開發的所有方面。
  2. TypeScript的受歡迎程度急劇上升,現在已經進入了GitHub上最受歡迎的10種編程語言,InfoQ今年對很多框架和庫進行了調整。
  3. WebVR/WebXR和機器學習,推動更好的3D渲染和數據可視化
  4. React的採用已經大大增加,但新一波的框架正在獲得大量使用,其中包括Vue.js
  5. 應用程序的廣泛選擇,從先進的Web應用程序,到Electron, Ionic和Cordova等混合應用程序,再到React native和NativeScript等完整的本地編譯器,為使用Web技術創建有競爭力的應用程序提供了越來越多的靈活性。

在InfoQ上,我們定期更新我們的主題圖,以顯示我們認為不同的主題在技術採用曲線中的位置。當我們這樣做的時候,我們會考慮實踐的狀態,新興的想法和我們在網絡中聽到的事情,以及在聚會、會議、分析師活動等等。我們還考慮了網站的流量模式和出席QCon和其他行業會議的人數。

如果話題是在右手圖的一部分,你可能會發現很多現有InfoQ上的內容,我們覆蓋了它當它是新的,和經驗教訓的創新者和早期採用者可以幫助引導個人、團隊和組織,因為他們採用這些想法和做法。

曲線的主題左邊是我們認為新興的現在,使用的創新者和早期採用者,我們重點報告和內容將這些想法對我們的讀者的注意力,這樣他們就可以自己決定他們是否應該探索現在,或者等著看他們如何展開。

這個月我們將討論JavaScript和Web開發,因為這個快速變化的行業每年需要進行一次以上的更新。這是我們在2018年第一季度回顧的圖表。

「Web趨勢」JavaScript和Web開發InfoQ趨勢報告

這是2018年第四季度的修訂版

「Web趨勢」JavaScript和Web開發InfoQ趨勢報告

web開發領域對我們來說總是一個有趣的領域,幾乎每天都有新的JavaScript框架發佈。試圖決定哪些是需要關注的,哪些是需要忽略的尤其具有挑戰性。開發人員可以從有趣的方法中學習和收集靈感,即使他們目前在日常開發工作中不使用它們。

創新者

從過去幾個月的趨勢來看,隨著瀏覽器廠商超越最小可行版本,努力提高性能並填補空白,人們對WebAssembly的興趣持續增長。

CSS Houdini在CSS領域掀起了一場熱潮,PostCSS等工具正在挑戰SASS、LESS和Stylus等現有的CSS預處理程序。CSS Houdini是我們繼續關注的一個領域。

Deno是Node最初的創建者開發的一個新項目。在TypeScript中編寫,試圖解決Node.js的挑戰。這是一個非常早期的項目,但顯示了重大的前景。

Dojo是最早的JavaScript工具包之一,可追溯到2004年,今年發佈了版本2(以及隨後的版本3和4!)這代表了一個使用TypeScript的主要重寫,它將Dojo變成了一個現代的、響應式的、標準一致的、基於虛擬dom的框架。新版本在性能和開發人員人機工程學方面比同類產品有了顯著的改進,但它還處於採用週期的早期。

js已經成為基於javascript的機器學習的基礎庫。我們跟蹤這個庫以及利用它推進JavaScript機器學習狀態的項目。

早期採用者

看看我們早期的採用者,我們繼續跟蹤Flow(用於JavaScript的靜態類型檢查器)和Elm(用於生成基於JavaScript的web應用程序的替代JavaScript語言)。

自從我們的上一份報告以來,我們已經提升了一些技術到這一類別,由於增加了行業的吸收:

  • GraphQL仍然是我們遵循的一個趨勢,已經建立了幾個庫,包括Apollo、Vulcan.js和urql。
  • ECMAScript 2018現在是最終版,2019版的工作正在順利進行。
  • WebVR及其未來的替代者WebXR通過HTML、CSS和JavaScript提供了虛擬、增強和混合現實功能。隨著標準從VR擴展到XR,目前出現了很大的波動,但是瀏覽器和JavaScript對這個領域有很大的興趣。像A-Frame和React 360這樣的庫通過使用Three.js而流行起來。

我們也增加了一些早期的採用者:

與Elm一樣,Reason也是JavaScript的另一種替代方案,它還提供了類型安全性和對JavaScript的流線型轉換。

WICG是W3C的Web平臺孵化器社區小組,它一直致力於將各種各樣的有用標準轉化為成果,從交集觀察器和調整大小觀察器等最終標準,到picture-in-picture和WebUSB等更具實驗性的技術。

Web組件在過去幾年裡不斷髮展,現在Chrome和Firefox都支持本地組件,Safari也提供部分支持,Edge也在努力。許多框架和庫本身也支持web組件,包括Angular、Dojo、ion、Stencil、Svelte和Vue.js。

CSS Next包含了一系列在標準過程中不斷改進的CSS,其中許多可能會與PostCSS或CSS Houdini一起使用。

ion4目前處於beta測試階段,已經經歷了重大的變化,將自己從Angular等特定框架中分離出來,並專注於與現代標準保持一致。

NativeScript為Angular和Vue.js用戶提供了本地編譯選項,用於部署使用web技術編寫的移動應用程序。

最後,net .js是一個很有前途的服務器端框架,用TypeScript編寫,運行在Node.js之上

早期的多數

在我們的“早期多數”類別中,Vue.js繼續發展並獲得支持,我們認為它已經跨越了“早期多數”狀態的鴻溝。我們看到中國對Vue.js特別濃厚的興趣,而最近重新設計的InfoQ也利用了這個框架,目前處於測試階段。Vue.js 3正在積極開發中,包括使用TypeScript重寫。

Angular的第7版最近發佈了,並在不斷改進。

構建和綁定工具通常對於優化生產應用程序非常有用。幾乎每個框架都利用一些工具組合來優化性能。

我們已將electronic和TypeScript 提升至早期多數地位。electronic是一個被廣泛採用的桌面應用程序外殼,它結合了Node.js和Chromium,為使用web技術的應用程序提供基礎設施。

TypeScript是最廣泛採用的JavaScript變體,在過去幾年中取得了長足的進步,現在大多數JavaScript框架都利用了它的工具和基礎結構。根據GitHub最近的一份10年報告,TypeScript本身是十大語言之一,JS的狀態調查將TypeScript列為目前使用最廣泛的JavaScript變體。

我們在早期多數人類別中直接增加了三個項目:

React Native是一個使用JavaScript和React構建本地移動應用的框架,並迅速成為構建跨平臺移動應用的流行方式。

同樣,函數式和反應式編程模式主導了關於如何最有效地構建JavaScript應用程序的討論。像lodash這樣的庫幫助推廣了這些模式。

晚期大眾

隨著JavaScript生態系統的成熟,現在有一些屬於後主流類別的基礎技術沒有被取代的跡象,但是幾乎每個JavaScript開發人員都在使用它們。

我們已經提升了幾個項目到我們的後期多數地位。

ide和編輯器通常被廣泛使用。在桌面上,VS代碼似乎已經在Atom、Sublime Text、WebStorm、甚至vim或emacs上取得了實質性的領先。像CodeSandbox這樣的基於瀏覽器的ide為web瀏覽器帶來了大量的VS代碼體驗,用於快速開發、試驗和共享開發成果。

Babel version 7最近發佈了,它在新出現的JavaScript版本和開發人員需要根據需要支持的版本之間提供了默認的轉換。

Babel,用於將源代碼從JavaScript的新興版本轉換為生產環境中支持的語言特性集的JavaScript轉換工具。

React是自jQuery以來應用最廣泛的框架,並在不斷髮展;支持React的新項目幾乎每天都會發布。

Node.js 是一個被廣泛採用的JavaScript服務器端和命令行環境,NPM是最常用的Node.js包管理器。幾乎每個JavaScript項目的命令行和構建工具都使用Node.js,而Node.js在服務器端開發和嵌入式系統中都得到了廣泛採用。

Express也在我們的列表中,是使用最廣泛的節點。js-based服務器端框架。Webpack也在我們的列表中,它是事實上的構建和綁定工具,也是基於Node.js的。

我們加入HTML5和ES6/2015作為後期的主流,因為幾乎所有的web應用程序都使用這些特性作為最低基線。

落後者

我們用落後者來結束我們的報告,雖然它仍然在許多應用程序中使用,但是對於新的開發工作並沒有引起很大的興趣。更新的版本已經取代了ES5和HTML4。Dojo 1。x和角1。x雖然仍在廣泛部署,但處於維護模式。jQuery雖然得到了一些改進,但大部分已經被新的HTML和JavaScript特性或更成熟的框架所取代。

結論

JavaScript生態系統正在蓬勃發展,儘管跟上變化的速度可能很有挑戰性,但我們相信這個領域中的許多基礎部分已經變得穩定,這為創新創造了額外的領域。InfoQ的團隊將為您提供JavaScript領域的專家報道,我們歡迎您的反饋、評論和外部文章貢獻。

原文:https://www.infoq.com/articles/javascript-web-development-trends/

本文:https://pub.intelligentx.net/node/810

討論:請加入知識星球【首席架構師圈】或者飛聊小組【首席架構師智庫】


分享到:


相關文章: