2015年最受Scala開發者歡迎的類庫前100名排行

jopen 9年前發布 | 20K 次閱讀 Scala

    英文原文:  The Top 100 Scala Libraries in 2015

作者: Alex Zhitnitsky

翻譯:陳英華(iintothewind@cnblogs)

Alex Zhitnitsky 之前做過一個關于 java 類庫的排行,現在他著手從 64562 個 Scala 使用的庫依賴中開始研究 Scala 類庫的排行。整個工作耗時一月,下面是他出色的研究成果。

基于 64562 個類庫的分析,Github 上 Scala 項目使用最多的類庫到底有哪些呢?

在這篇文章中我們將進入 github 去發現到底哪些類庫最受 Scala 開發者歡迎。

為了回答這個問題我們從最受歡迎的 7321 個 Scala 代碼倉庫中抽取了 64562 個庫依賴。通過分析去重,我們從這些項目中得到了 5627 個不同的類庫,我們懷著非常激動的心情來跟大家分享其中的前 100 個。我們下一個任務是去 Scala 開發者見面會等場所調查關于啤酒酒量與編程水平相關性分析(benchmark beer consumption),希望下次再分享給大家。

跟上次我們對于 github 上 Java 類庫使用排行的研究類似,排斥了些許干擾的情況下,我們發現了一些有趣的趨勢。我們將這次的數據跟一年半前上次 Java 類庫排行的數據做了一下對比。現在,讓我們看看我們的研究結果和發現吧。

最受 Scala 開發者歡迎的類庫排名前 20

2015年最受Scala開發者歡迎的類庫前100名排行

Data by Takipi

從類庫排名前 100 的列表中得到的主要發現

完整列表下載:https://docs.google.com/spreadsheets/d/10ZgUgU_wl7FpqlJjfk96hUHXGQWPbNzjvbout9tnGpQ/edit#gid=0

1、Scala 生態系統正在飛速發展,前 100 名中 33 個是新類庫

與上次我們在 Github 上做的 Scala 類庫排名的分析結果相比,列表的三分之一成員發生了變更。這說明除了 Typesafe 的框架,Scala。js 和 Shapeless 等工具的出現,可以表明整個社區是非常活躍的。

2、Spark 的受歡迎程度已經遠超 Hadoop

跟 Java 類庫的排行不一樣,我們得到了一個翻轉的現象,Spark 名列 45 位,而 Hadoop 排在 95 位 。Spark 確實發展壯大了,對前 100 排名來說是一個重要的新成員。

3、Play Framework 爬到了第 3 名

它的發展令人吃驚:21。3% 的頂級 Scala 項目將 Play 作為框架的首選

4、JavaScript 類庫的使用有所上升

與一年半以前相比,JavaScript 類庫在排名當中占據了更多席位。能將 Scala 語言轉換為 JavaScript 的編譯器 Scala。js 已經不再是實驗版本,它出現在了 64 位,其他比如 jshint (47 位),rjs (44 位)等 Sbt 插件,甚至 CoffeeScript (48 位)都進入了前 50。

5、IntelliJ 是最受歡迎的 Scala IDE

從 Eclipse 和 IntelliJ SBT 插件(sbteclipse-plugin 和 sbt-idea)的比較當中,我們有機會看到 IntelliJ 以 14。3% 的使用率超越了 Eclipse (13。5%)成為了 Github 上頂級 Scala 項目中最受歡迎的 IDE。 雖然抽樣的數據依然是片面的,但至少讓我們能感覺到潮流風向。

還有... 尋常的發現

  • 21 個頂級庫依賴來自于 Typesafe

這毫不令人感到吃驚,Typesafe 團隊在跨 Akka,Play,Slick,sbt 和 core intergration with Scala 等多個項目中做著貢獻。

  • Akka 位于第 9 名且前進勢頭非常強勁

上次我們做排名分析的時候 Akka 在 857 個項目中被使用且排名第 10。 如果你還沒來的及學習它的話,可以參考這里:implementing Romeo and Juliet as… Akka Actors of course。

  • ScalaTest 和 JUnit 在測試庫依賴中遙遙領先

跟 Java 類似,測試活動在 Scala 中占據比重也是巨大的 。ScalaTest 在 2521 個項目中被使用(占比 34。4%)占據測試庫依賴排行首位,JUnit 在 1814 個項目中被使用(占比 24。8%)位居第二。跟上次排行 JUnit 位居首位相比,一二名的位次發生了翻轉。還有更多的 testing 和 mocking 類庫占據了排名。

  • logback 是 Scala 項目的最受歡迎日志庫依賴

logback 以第 5 位的排名被 16% 的項目所使用,理所當然的成為了 Scala 開發者的首選。第二名是占比 4。9% 位居第 36 位的 log4j。

  • Java Guava 與 Scala Guava 之爭

Google Guava 曾經在上次 Java 庫依賴排行中居第 4 位,在本次 Scala 庫依賴排名中下降到了第 37 位。

  • Scalaz 成為 Scala 版本的 Guava

作為 Scala Core 的擴展, 使用函數式編程創建的 Scalaz 位于排名的第 18 位

  • H2 是排名前 100 列表中最受歡迎的數據庫

H2 排名第 21 位,超過了 MySQL (33 位)和 Postgresql (50 位) 。MongoDB 沒有進入前 100 排名。

  • 相比 Java 項目,Jetty 更受 Scala 項目歡迎

Jetty 在上次我們對于 Java 項目的庫依賴排名中位于第 66 位,雖然 Jetty 原來為 Java 所創建,我們看到在 Scala 中的更受歡迎,排名到了第 26 位。

5 個值得一提的庫依賴

第 27 位 Bintray-sbt

發布和解析 Bintray 包的 sbt 接口

第 60 位 Paradise

多版本 Scala 編譯器插件。它被設計用來同產品發布用的 scalac 可靠的工作,使用最新開發的宏編譯來避免將來在 production 環境不得不更新 Scala 版本的情況。

第 65 位 Webjars

打包客戶端 Web 庫依賴(比如 jQuery 和 Bootstrap)到 Jar 文件

第 81 位 Shapeless

基于 type class 和 dependent type 的泛型編程庫

第 92 位 sbt-ghpages

sbt 項目的 gh-pages 支持,允許在 Github 上管理靜態網站

排名前 100 按類型分類

2015年最受Scala開發者歡迎的類庫前100名排行

為了更好的理解 Scala 社區最受關注的類庫類型,我們繪制了按類型區分的前 100 排行和他們在 Github 上最受歡迎的 Scala 項目中用量的圖。

我們怎么發現這些數字的?

先讓我們對這統計數據做一下上下文介紹:從一開始我們根據 Github 上 star 數量來篩選 Scala 項目,第二部我們從使用了 Maven 或者 sbt 的那些項目中快速抽取了庫依賴信息,這樣我們得到了 7321 個項目的數據。現在我們手中就有成千上萬的庫依賴信息了,然后我們通過數據壓縮得到了 64562 條庫依賴信息和 5627 個去重的庫依賴。這表明我們研究的 Scala 項目中平均每個項目使用 8.8 個外部依賴。為了讓分析更加簡單,我們統計出了前 100 名,并繪制圖形。

歡迎你下載查看這些數據,以保證沒有錯誤任何有意思的發現。

最受 Scala 開發者喜愛的工具排名?

The Top 15 Tools Developers Use After Major Releases

How to See the Variable State That Leads to Error in Production

來自:http://news.cnblogs.com/n/525813/

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!