當前位置:
首頁 > 科技 > GitHub年度盤點:Deno趕超Node,躍升第四!

GitHub年度盤點:Deno趕超Node,躍升第四!

作者|Michael Rambeau、Sacha Greif

編輯|覃雲

本文轉載自:

https://risingstars.js.org/2018/zh/

本文通過對比各項目過去 12 個月在 GitHub 上新增 star 數量,來評估其在 2018 年度的受關注程度,進而選出 2018 年度 JavaScript 領域崛起的明星項目。

最受歡迎的前 20 個項目

這些就是今年最火的前 20 項目,基本涵蓋所有類別。

Vue.js 已經連續三次登頂年度排行榜冠軍。它今年在 GitHub 上新增了超過 45k 的 star,比 2017 還要多 5k,增長勢頭依然不減!

第 4 名 Deno 是 2018 年前十名中唯一的一個新項目

。Deno 是「一個可在瀏覽器外執行 JavaScript 和 TypeScript 代碼的程序」根據其作者 Ryan Dahl( Node.js 之父)的說法,這是一個嘗試解決部分 Node.js 原有問題的、可靠的 TypeScript 運行時。

前端框架

在前端框架方面,主導者還是與 2017 年一樣,仍是三大框架:Vue.js,React 和 Angular。

其中在 2018 年 6 月,Vue.js 和 React 的 star 數增長 都有一個小高峰。這是什麼原因呢?當時正值 Vue.js 的總 star 數超過 React,成為 UI 框架類別中最受歡迎的項目。那時候,雙方的粉絲都在為他們心目中的冠軍拉票!

2018 年的新秀是 Omi,一個運用了 Shadow DOM 技術的、大有前途的 UI 框架,同時採用了 React 開發者們熟知的 「JSX」 語法。

Node 框架

在 2018 年中領跑的兩個 Node.js 框架是基於特定前端框架的」全棧框架」:



  • 採用 React 的 Next.js,本類別的新冠軍。


  • 採用 Vue.js 的 Nuxt。

它們都保證了良好的單頁應用(SPA)開發體驗,並支持服務端渲染(SSR)。

位於第 4 的是 Express,它曾是 2017 年的第一名,儘管它「年事已高」,依然十分流行。

React 生態圈

不出意外,在 React 生態圈類別,2018 年的頭號項目是 Create React App,它是創建新 React 項目的事實上的工具。其第 2 版在 2018 年發布,是一次大版本更新,改動包括內置 Webpack 4,以及使用 TypeScript 的可能性。

對於 React 本身,主要變動在於引入了 hooks,它或許能夠改變我們對於狀態管理的處理方式,以及調整 React 中的副作用。

Vue 生態圈

Vue.js 的勢頭還在增長,Vue 3.0 計劃發揮出現代瀏覽器的優勢,以便更高效地運行和更易於使用。

Vue Element Admin,Vue.js 生態圈最流行的項目,是使用 Vue.js 組件構建漂亮的儀錶板的解決方案。

vue-cli 是使用現代 JavaScript 工具構建一個新的 Vue.js 應用程序的標準解決方案。它能夠和 React 的 Create React App 相提並論,但它更靈活並提供了一個圖形化的 UI 界面,使得它非常方便用戶。

Angular 生態圈

2018 年,Angular 有兩個大版本更新,Angular 6 於五月推出,提供了很多和工具化相關的功能。

因此,在 Angular 生態圈中,最流行的項目是官方的命令行工具 Angular CLI,用於搭建新項目和管理現有項目。在這些新功能中,update 命令使更新應用和依賴變得容易。此外,現在可以在不 "ejecting" 的情況下調整底層 Webpack 配置。

Angular 7 於十月發布。包含了 Angular CLI prompts,以及 Material Design for Angular 的更新,並側重性能提升,包括一個稱為「虛擬滾動」(Virtual Scrolling)的特性。

移動開發

React Native 依然是使用 JavaScript 語言創建移動端應用的主要解決方案。

對於那些希望使用 Vue.js 而不是 React 的人們來說,這兒也有一些選擇。以下四個本類別中的項目(Weex,NativeScript,Quasar 和 Ionic)全都支持 Vue.js 作為視圖層來構建移動端應用。

來自 Google 的 Flutter 雖然不是 JavaScript 語言的項目(因為它使用 Dart 編程語言), 但對於構建跨環境移動端應用,它也是一個很棒的備選方案。

編譯工具

我們過去曾討論在 JavaScript 中引入靜態類型的最佳方案。

到了 2018 年,微軟的 TypeScript 大幅領先了其靈感來源 —— Facebook 的 Flow。實際上,支持 TypeScript 的最新版 Babel 是一個攪局者。

TypeScript 幾乎是一個開發標準:無論對於後端還是前端開發來說,我們看到越來越多的項目包含了 TypeScript 聲明。而且,如果某些庫自身不帶類型聲明,那麼名為 DefinitelyTyped 的項目會為大量的那些庫提供類型聲明。

構建工具

打包工具 Parcel 證實了它在 2017 年的成功,開發者們喜歡零配置建立一個新項目的能力。

測試框架

2018 年中測試框架領域總體沒有什麼變化,5 個領先的解決方案保持了和 2017 年相同的排名。Jest 比競爭者們進步更快,開發者們喜歡 Fackbook 的全功能測試框架所帶來的效用 —— 無論是在前端(它最初被打算用於測試 React 組件)還是後端使用,而且它是零配置的。

IDE 和編輯器

VS Code,全類別里第 3 流行的項目,幾乎就是用於 web 開發的事實上的 IDE 了。它依靠自動補全功能和自帶 TypeScript 集成站穩了腳跟。殺手級功能可能就是對於 Node.js 的調試能力了吧。

CSS in JavaScript

雖然目前,對於基於組件的現代前端應用,什麼才是最好的樣式化方案,還沒有定論(無論 React,Vue.js 還是 Angular)。但是 Styled Components 依然有著最好的勢頭,看起來是最受歡迎的「組件樣式化」解決方案。

靜態網站生成器

和 2017 年一樣,Gatsby 在 2018 年依然是最受歡迎的靜態站點生成器(用於生成一組 HTML JavaScript 和 CSS 文件,以便能夠在任意地方託管,超快響應 —— 的一種工具)。

Gatsby 的亮點在於它的多面性(你能結合單頁應用和靜態站點的優點)以及對性能的關注。如果你希望使用 Vue.js 而不是 React,那麼第 2 名的 VuePress 或許是恰當的選擇。

GraphQL

GraphQL 生態圈正在高速發展,並且有一個大趨勢是: 一些工具的出現能夠簡化 GraphQL 的配置過程。

Gatsby 依然是第一名,而且它絕對是最易上手使用 GraphQL 的工具之一。從 Graphcool 演變而來的 Prisma 位於第二。與此同時,Hasura GraphQL Engine 還可以幫你直接從資料庫生成一個能運作的後端。

前 15 名的其餘部分,包括 GraphQL 服務端、客戶端、以及各種其他工具 —— 比如 GraphQL Playground。

總   結

2018 年,JavaScript 生態圈的項目在 GitHub 上的表現與我們之前發布過的 2018 年 JavaScript 生態圈調查報告 里的結果有很多相似之處,因為都是開發者主觀表達得到的結果,從客觀上來說,各項目在 npm 上的下載率才能真正代表市場上的應用情況。但 GitHub 在某種程度上代表了一種潛在的趨勢,在開發者選擇自己的開發模式時,能給出新的借鑒。

點一下好看試試微信的新功能?

??

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 InfoQ 的精彩文章:

過去一年,被我們「高估」的技術清單
解讀Go語言的2018:怎麼就在中國火成這樣了?

TAG:InfoQ |