2017年 JavaScript 框架回顧 -- 后端框架


 

本文翻譯自:https://www.npmjs.com/npm/the-state-of-javascript-frameworks-2017-part-3-back-end-frameworks

轉載請注明出自:葡萄城官網,葡萄城為開發者提供專業的開發工具、解決方案和服務,賦能開發者。

 

本文是2017年 JavaScript 框架回顧系列的最后的一篇文章,主要介紹 JavaScript 的后端框架情況。

從上圖中可以看到,Express 作為用 JavaScript 編寫的后端服務的主流解決方案,占據了后端框架使用率的絕大部分,其次的四個最大框架對比於 Express 來說,占用率都很小。

到目前為止,我們所討論的幾乎所有框架的絕對使用量都在不斷增加。自2013年以來,Express 的使用率已經增長了6000%。之所以 Express 的6000%增長在第一張圖中顯示成下降的狀態,是因為在同一時間內,總的 npm registry 增長了67,000%。也就是說,JavaScript 社區正在以編程語言史上前所未有的速度增長。

 

npm 的前端使用正在爆炸式增長

目前,大約83%的 npm 開發人員正在編寫運行在前端的 JavaScript,而只有41%的人正在為后端編寫代碼(前后端開發者有重疊的部分)。前后端開發人員的比例為約為2:1,這也表明 npm 社區的未來在於前端的開發和工具制造。

接下來我們查看其它的后端框架。

 

其他后端框架

下面是除 Express 之外的四個最大的后端框架,分別為:

  • Koa
  • Hapi
  • Sails
  • Next

 

koa

藍色代表的是 koa 的相對使用率情況。Koa 是 Express 的開發人員使用一套更緊密的設計原則編寫的,旨在創建一個更小、更富表現力同時也更健壯的 Web 框架。雖然 Koa 具有不低的使用量,但其增長速度還不是很快。

 

Hapi

Hapi 是一個用於構建應用和服務的豐富框架,Hapi 使得開發者更專注於編寫可復用的應用邏輯,而不必把時間花費在基礎設施的搭建上。2014年底,Hapi 有一個短暫的繁榮時期,然而自此之后,Hapi 的使用率就一直處於下滑狀態。

 

Sails

Sails 是 JavaScript 的 Ruby on Rails 克隆。盡管最初在2012年年底推出時,Sails 非常受歡迎,但它卻也遵循着“半衰期”的衰退模式,這也表明 Sails 不再被新項目采用。

 

Next.js

Next.js 是一個基於 React 的通用 JavaScript 框架,同時也是一個較新的框架。

Zeit 的開發團隊在 React 的基礎上創建了 Next.js。Next.js 提供了一種很方便的方式來創建新的 Web 應用。當前 Next.js 的使用率盡管還很低,但是卻一直保持着上升的趨勢,值得關注。

 

Npm 中的前后端對比

前面已經提到,當前前端開發者的數量遠超后端開發者的數量,但這種情況是否反映在 npm 的前后端安裝包數量上呢?

盡管前后端的安裝包也存在重疊的情況,但是整體數量還是后端安裝包數量高於前端。

 

npm 中的前端使用情況

 

2013年以前,npm 中的前端框架使用量非常大,Backbone 的流行也是促成這種情況的原因之一。但是,隨着 Express 和其它服務器端框架的持續增長,Backbone 變得不那么流行了。

npm registry 的前端使用率在經過兩年的下滑之后,2015年開始再次開始增長。

 

跟蹤 npm 前端的具體使用情況

為了弄清楚 npm 前端的具體使用情況,我們將關注於提供前端代碼的一些庫,主要包括:

  • Bable
  • Webpack
  • Browserify
  • Bower
  • RequireJS
  • SystemJS

 

Bable

Babel 是一個轉譯器,用於將現代的 JavaScript 版本轉換為與 Node.js 中的服務器端 JavaScript 以及瀏覽器兼容的 JavaScript 舊版本。Babel 非常受歡迎,被用於前端和后端應用程序中。

 

Webpack

 

Webpack 是專門為瀏覽器提供 JavaScript 代碼的工具。React 一直使用 Webpack 為瀏覽器服務做准備,很長一段時間,React 和 Webpack 都保持着相同的增長趨勢。

但是從2016年年中開始,Webpack 的使用率開始超過 React。這也表明,Web 開發人員已經開始更廣泛的采用 Webpack,而不僅僅是 React 應用程序。

 

Browserify

 

在 WebPack 成為流行的 JavaScript 代碼工具之前,Browserify 一直是瀏覽器端轉化服務器端 JavaScript 的重要工具。Browserify 也曾在2015年中期保持很高的受歡迎程度,但是從2016年開始,隨着 Webpack 的逐漸流行,Browserify 的受歡迎度出現了急劇下滑的現象。

這也許和兩個工具的設計目的有關。Browserify 為瀏覽器帶來了 Node.js API surface(包括用於許多后端的API),Webpack 則是一個更通用的模塊系統和編譯工具,用於加載圖片、CSS和其它前端資源。因此,對於非 Node.js 開發者來說,Webpack 更為有用。隨着 npm Registry 前端使用的急劇增加,Webpack 已經成為一個非常有吸引力的選擇。

 

Bower

 

瀏覽器端模塊化 JavaScript 的另一個解決方案是 Bower,Bower 將模塊引入了瀏覽器。盡管 Bower 客戶端是由 npm Registry 托管和安裝的,但是 Bower 卻是一個完全獨立的非 npm 模塊。

雖然 Bower 的開發人員認為其客戶端具有許多優秀的特性,但是他們還是贊同 CommonJS(大多數 npm 包所使用的 JavaScript 模塊的格式)是一種更為靈活和流行的解決方案。Bower 的受歡迎程度自2014年起開始出現了持續的下滑。

 

RequireJS 和 SystemJS

 

Bower 的模塊並不是 CommonJS 的唯一選擇,RequireJS 是另一種具有模塊格式的可選方案。RequireJS 在2013年初很受歡迎,但自2014年之后,開始與 Bower 一同出現下滑。2015年發布的 SystemJS 增長很緩慢。

 

Webpack 和 Express

目前,我們判斷 npm 前端使用量的最可靠依據就是 Webpack。相比於 Express 的相對使用率,可以看到,Webpack 在三年時間內,相對使用率迅速攀升到了 Express 的一半。

我們大膽預測 Webpack 將繼續增長,甚至可能會超過 Express,這也與我們所見到的 Webpack 的新用戶比例一致。幾年后,npm 將是一個主要的前端工具。

 

總結

npm 生態系統中前端和后端的使用量增長,對於 JavaScript 的整體而言都是一個好消息。JavaScript 語言所具有的靈活性和易用性,是一種很大的優勢。

也許 JavaScript 的廣泛采用,正是由於 JavaScript 的內置​​特性很少,使得 JavaScript 語言在被使用時,有了很多的其它選擇。

現在 JavaScript 使用量正在急劇增長,npm 也在與之同步增長。

 

相關閱讀:

2017年 JavaScript 框架回顧 -- React生態系統

2017年 JavaScript 框架回顧 -- 前端框架

前端開發者常用的9個JavaScript圖表庫 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM