2016年排名Top 100的Java类库——在剖析了47,251个依赖之后得出的结论

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

我们剖析了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类库。若是你不领会Guava或者你不知道若何使用它,你可以阅读Google Guava: 5 Things You Never Knew It Could Do

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

,

以太坊数据网

www.326681.com采用以太坊区块链高度哈希值作为统计数据,联博以太坊统计数据开源、公平、无任何作弊可能性。联博统计免费提供API接口,支持多语言接入。

,

最受迎接的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