2016 年排名 Top 100 的 Java 类库

oschina
 oschina
发布于 2016年05月23日
收藏 282

我们分析了GitHub中47,251个依赖,从中找出了排名前一百的Java类库,让我们看看谁在前面,谁在后面。

我们在漫长的周末的消遣方式就是浏览GitHub并且搜索流行的Java类库。我们决定把其中的乐趣与结果分享给你。

我们分析了GitHub中排名前3,862个项目中的47,251个导入语句,其中有12,059个Java类库被依赖。我们从这个列表中提取出前一百并把结果分享给你。

最受欢迎的前20个Java类库

和上次分析结果一致,junit依旧是GitHub中最受欢迎的类库。Java中的日志API slf4j排名第二,log4j排名第四。

Google的开源类库Guava呈上升趋势,排名第三(去年排名第四)。Guava中包含一系列诞生在谷歌内部的核心Java类库。

Spring类库的崛起

Spring框架作为Java EE的主要竞争对手在Java社区很流行,这一点也在GitHub中很好的提现了出来。在排名一百名以外,有44个类库是与Spring相关的。最有趣的部分是Spring Boot的迅速崛起,关于这部分内容可以阅读Java Bootstrap: Dropwizard vs. Spring Boot.

排名靠前的Spring类库:

#13 – springframework.spring-context

#17 – springframework.spring-test

#22 – springframework.spring-webmvc

#24 – springframework.spring-core

#27 – springframework.spring-web

#36 – springframework.spring-jdbc

#37 – springframework.spring-orm

#38 – springframework.spring-tx

#40 – springframework.spring-aop

#47 – springframework.spring-context-support

#72 – springframework.boot.spring-boot-starter-web

#81 – springframework.security.spring-security-web

#82 – springframework.security.spring-security-config

#88 – springframework.boot.spring-boot-starter-test

#99 – springframework.security.spring-security-core

最受欢迎的JSON类库

因为Java本身还不支持JSON(尽管Java9宣称支持),所以我们想通过GitHub中的项目来看看这些JSON类库的受欢迎程度。

你不能通过他的使用量多少来选择一个使用哪个类库,因为这些JSON框架的功能不尽相同。而是应该根据实际使用环境选择最适合的。如果你不知道如何选择,可以参考JSON benchmark.

排名靠前的JSON类库:

#14 – fasterxml.jackson.core.jackson-databind

#19 – google.code.gson.gson

#43 – json.json

#80 – googlecode.json-simple.json-simple

#89 – thoughtworks.xstream.xstream

神奇四侠

有很多有趣的新库,甚至引起了我们的注意,但我们决定关注以下他们:

#68 – projectlombok.lombok – Lombok提供了简单的注解的形式来帮助我们消除一些必须有但显得很臃肿的Java样板代码。

#90 – jsoup.jsoup – jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。

#92 – io.netty.netty-all – 网络应用程序框架,用于快速和方便的开发维护高性能协议服务器和客户端

#98 –dom4j.dom4j – 处理XML的开源框架。它集成了XPath并提供全力支持DOM,JAXP和Java平台。

前100个类库的类型

魔术背后的科学(我们是如何得出这份列表的)

你可能想知道我们是如何得出这些信息的。我们首先按照star数量把GitHub中的项目代码pull到本地。我们提取并分析了使用了Maven和Ivy的项目中用于依赖管理的 pom.xml / ivy.xml ,这给我们提供了47,251分数据来源。

我们做了一些疯狂的挖掘和分析,最终我们得到GitHub中排名前3,862项目中的12,059个Java类库。这样就可以很方便的对他们进行排名了,只要按照他们出现的次数排序就可以了。

如果你想看看我们的原始数据,这个文件可以。虽然这篇文章中我们已经介绍的比较清楚了,我们仍然欢迎你来看看,确保我们没有错过任何有趣的见解。

最后的一点想法

当我们拿着这份列表与去年的结果做对比的时候,我们发现一些小的类库的排名有一些小的波动,Spring有明显上升,而MongoDB消失在名单中。

如果你已经对类库有了选择,但你仍然寻找最终的工具,我们有一个完美的建议给你。 Top 15 Tools Java Developers Use After Major Releases

本文由HollisChuang 翻译自 The Top 100 Java Libraries in 2016 – After Analyzing 47,251 Dependencies . 原作者:Henn Idan

来源:微信公众号 Hollis

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:2016 年排名 Top 100 的 Java 类库
加载中

最新评论(23

IdleMan
IdleMan
"漫长的周末" 得多漫长?
jiiiiiin
jiiiiiin

引用来自“西湖老司机”的评论

内裤,又是内裤,还是内裤 ,我大java就是天天学怎么用别人写的内裤吗
13
SamuelC
SamuelC
windows 10 mobile使用者就靜靜看你們裝逼扯淡好了
孤岛旭日
孤岛旭日
这个分析很不科学,是么叫T100?有统计体量更大的闭源项目吗?maven多层依赖怎么处理?mvnrepository.com上的usages不是很准吗?1
小安安
小安安
Appache那么多碉堡了的库怎么没写
lanmingle
lanmingle

引用来自“爪哇小贩”的评论

guava听说用起来很爽,但是学起来很别扭

引用来自“Raynor1”的评论

呵呵。你是不是想得太多了啊。。这一个没有啥学习的难度吧?????
就是,一看源码就懂啦,还需要学?比如你现在需要一个字符串工具,java就是好在规范命名,直接到字符串相关的包/类查看,然后看方法,在看下源码会怎么样,要是看不懂就写个测试,什么就解决啦,有什么难度的。
Raynor1
Raynor1

引用来自“爪哇小贩”的评论

guava听说用起来很爽,但是学起来很别扭
呵呵。你是不是想得太多了啊。。这一个没有啥学习的难度吧?????
鱼鱼郁郁

引用来自“陈昊Sevens”的评论

几条内裤穿到老
肖申克救赎
肖申克救赎
完整排名在哪?
wjdadi
wjdadi
slf4j已经把common-logging干掉了
返回顶部
顶部