您的位置:首頁>正文

StackOverflow資料分析:JavaScript框架的殘酷生命週期

新的 JavaScript UI 框架和庫似乎一直都在不停地發佈。 每隔六個月, 我們就會看到一個全新的框架聲稱自己已徹底改變了 UI 的發展, 然後成千上萬的開發者在自己的項目中使用它們, 寫博客分享使用心得, 在 Stack Overflow 中提問和回答, 日復一日, 然後又出現一個更新的(甚至更革命性的)框架來取代上一個的“王位”。

通過 Stack Overflow 的調查以及內部流量資料, 開發者可以看到一些框架現在的發展情況, 包括 Angular, React, Vue.js, Backbone, Knockout 和 Ember等。

框架的生命週期

Stack Overflow 的趨勢讓我們瞭解到, 這些技術隨著時間的推移, 被提問的情況是如何變化的。 先看一些相對來說用戶群體較大的框架。

有一段時間, jQuery 是 Stack Overflow 中 JavaScript 標籤的熱門關鍵字, 關於它的提問幾乎占了新問題的 8%。 隨著 AngularJS 和 後來 React 的發佈, 圖片中的走勢迅速發生了變化, 它們蠶食了 jQuery 在社區中佔有的份額。 從 2016 年左右開始, 開發者開始遷移至谷歌開發的新的流行框架, 所以我們看到 AngularJS 的用戶開始迅速轉用它的後續版本 Angular 2+。

這些使用者群體較大的框架只顯示了部分情況, 事實上, 也有較小的框架在爭奪主導地位。 我們可以從下面的圖片看到這些 JavaScript 框架生命週期的殘酷程度。

JavaScript 框架的使用似乎有兩個主要階段。 隨著框架越來越受歡迎,

它們似乎都有一個快速上升的階段, 然後又因為開發者採用更新的技術, 它們的上升開始變得沒那麼快甚至總體是穩步下降的。 這些框架的生命週期只有幾年, 從 2011 年開始, 業界似乎主要採用幾個存在競爭關係的框架:Backbone, Knockout 和 Ember。 有關這些標籤的問題在 2013 年左右出現增長, 並且在 AngularJS 開始增長的同時, 又開始穩步下滑。 最近的後起之秀是 Vue.js 框架, 它被迅速採用, 我們可以看到它是 Stack Overflow 上增長最快的標籤之一。 不過, 最終只有時間可以說明這種增長將會持續多久。

通過程式設計語言和技術進行分析

開發者使用某個特定的前端框架或其他框架都會有各種各樣的理由, 主要使用某種程式設計語言或技術的開發者可能更傾向於選擇某個 UI 框架。

例如, 我們可能會認為 Node.JS 開發者會選擇使用與 Ruby on Rails 開發者不同的框架。

根據開發者最常訪問的標籤將他們劃分成不同的組, 通過進行分組, 檢查每個組流向這些框架的流量百分比。

明顯可以看到, 使用 TypeScript 和 CSS 的開發者對 JavaScript 框架流量的貢獻都比較高。

這是很正常的, 因為使用這些技術的一般是前端開發者, 所以他們更有可能使用 JavaScript 框架。 尤其是 Angular, 它和 TypeScript 的依賴關係特別強, 因為 Angular(不是 AngularJS)是用 TypeScript 編寫的。

這次分析也包含了對 C++ 和 C 開發者的分析, 由於主要使用 C 和 C++ 的開發者更傾向於進行更多的系統程式設計, 所以他們不太可能使用 JavaScript UI 框架, 因此它們在每個框架中都只是擁有相對較低的百分比。

不過無論使用什麼技術,Angular 和 React 都是最受歡迎的。這也是有道理的,它們是先行者,而且背後有兩個最大和最有影響力的科技公司的支持。我們還能發現,Angular 在 C#, Java 和 PHP(某種程度上)開發者中的受眾更多,而 React 更受 Rails,Node.js 和 Python 開發者的歡迎。

對於 Knockout.js,它主要通過 C# 開發者獲得更多流量,因為 Knockout 也是微軟的技術。PHP 是一個有趣的案例,它是為 Web 開發而設計的,但是 PHP 開發者並沒有訪問很多關於 Angular 或 React 的問題(整體上來看),反而對於 Vue.js 問題的訪問顯得有些不成比例。

主要通過行業和地理位置(美國地區)這兩個角度對最受歡迎的兩大熱門框架 React 和 Angular 進行了分析,不妨看看資料。

最後,作者對此發表了自己的看法,他不會主張使用任何一種框架。就像對於每一項技術的選擇一樣,它的考慮因素不應是“火熱程度”,而是權衡取捨和是否適合解決手頭的問題。不過另一方面,開發者社區的規模確實很重要。它有助於開源環境的繁榮,並且更容易在 Stack Overflow 以及網路上找到説明。

不過無論使用什麼技術,Angular 和 React 都是最受歡迎的。這也是有道理的,它們是先行者,而且背後有兩個最大和最有影響力的科技公司的支持。我們還能發現,Angular 在 C#, Java 和 PHP(某種程度上)開發者中的受眾更多,而 React 更受 Rails,Node.js 和 Python 開發者的歡迎。

對於 Knockout.js,它主要通過 C# 開發者獲得更多流量,因為 Knockout 也是微軟的技術。PHP 是一個有趣的案例,它是為 Web 開發而設計的,但是 PHP 開發者並沒有訪問很多關於 Angular 或 React 的問題(整體上來看),反而對於 Vue.js 問題的訪問顯得有些不成比例。

主要通過行業和地理位置(美國地區)這兩個角度對最受歡迎的兩大熱門框架 React 和 Angular 進行了分析,不妨看看資料。

最後,作者對此發表了自己的看法,他不會主張使用任何一種框架。就像對於每一項技術的選擇一樣,它的考慮因素不應是“火熱程度”,而是權衡取捨和是否適合解決手頭的問題。不過另一方面,開發者社區的規模確實很重要。它有助於開源環境的繁榮,並且更容易在 Stack Overflow 以及網路上找到説明。

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示