OverOps 于 7 月 19 日发布了 2017 版的 “GitHub Java 流行库 Top 100 ”。

图0:2017版的GitHub Java流行库Top 100,JUnit稳居第一

此榜单是基于 259,885 个源文件,首先通过 GitHub 中的星数选取了前 1000 个 Java 存储库。然后过滤了Android 相关的项目,筛选出 Github 上最受欢迎的 477 个纯 Java 项目。

通过把过滤项目踢掉之后,再结合每个项目的 unique imports 进行了计数,并依据此结果排行。现在一起来看看前 20 名的排行。

图1:2017版的GitHub Java流行库Top 100,JUnit稳居第一

前20名榜单

和去年相比,JUnit 仍占霸主之位,JUnit 是 GitHub 中最流行的 Java 库。基于它扩展的 JUnit Runner 占据第二名的位置,甚至是较旧的 junit.framework 此次也在第三名的位置,可以说前三名都被 JUnit 收入囊中。

开源测试框架 Mockito,现在是第四大流行的 Java 库(榜单中)。日志组件 slf4j 位列第五,它的受欢迎程度反映了开发人员对日志记录的依赖性,同时也在一定程度上体现开发人员对 java.util.logging 库的使用率较低。OverOps 还深入研究了 Java 开发人员最常见的日志记录习惯。

Hamcrest 排名第6 (辅助在 JUnit 和 jMock 中进行测试的框架),这说明了开发者需要一个更好的测试环境。

在前 20 个库中,我们可以发现 Google Guava 排名第 7,Guava 框架里面包含很多 JUnit 框架和 javax 库。我们还可以看到,最受欢迎的 JSON 库是 Jackson。

在前 20,我们还可以发现 org.w3c.dom 今年首次进入前 20 名,它为 DOM(文档对象模型)提供接口。

另外,通过从前100名,我们可以看到,Spring 具有广泛的代表性,其中包含以下 8 个库:

#57 – org.springframework.beans.factory.annotation

#60 – org.springframework.context

#65 – org.springframework.context.annotation

#66 – org.springframework.stereotype

#68 – org.springframework.util

#81 – org .springframework.test.context.junit4

#85 – org.springframework.beans.factory

#91 – org.springframework.web.bind.annotation

还有一个值得我们关注的是被广泛使用 Apache 库

#16 – org.apache.commons.io

#22 – org.apache.http

#24 – org.apache.commons.lang

#25 – org.apache.http.impl.client

#30 – org.apache.http.client

#33 – org.apache.http.client.methods

#34 – org.apache.log4j

#35 – org.apache.commons.codec.binary

#45 – org.apache.commons.lang3

#53 – org.apache.http .entity

#61 – org.apache.http.util

#64 – org.apache.commons.logging

#75 – org.apache.http.message

#88 – org.apache.zookeeper

#95 – org.apache.hadoop.conf

#98 – org.apache.http.client.config

#100 – org.apache.http.client.utils

最后一个比较引人注意的是 AssertJ,它为 Java 提供了流式断言(Fluent assertions)。今年它攀升至 50 名,还有 API javax.script 和 org.apache.http.client.utils 此次也入榜。这意味着受欢迎的项目更会被运用于实际应用上,如测试。

虽然今年 OverOps 发布的榜单算法和去年有所差异,但是可以看出,大多数在 2016 年受欢迎的库仍然出现在 2017 年的榜单中。不过该榜单只能说明各个 Java 库在开发人员中的受欢迎程度,不能表明某个库是否有用。如果你想知道具体 OverOps 排行依据,可查看英文原文:http://blog.takipi.com/the-top-100-java-libraries-in-2017-based-on-259885-source-files/

附:完整的 Top 100 列表请点此查看

图2:2017版的GitHub Java流行库Top 100,JUnit稳居第一

余下全文(1/3)
分享这篇文章:

请关注我们:

发表评论

电子邮件地址不会被公开。 必填项已用*标注