我们在漫长的周末的消遣方式就是浏览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
因为Java本身还不支持JSON(尽管Java9宣称支持),所以我们想通过GitHub中的项目来看看这些JSON类库的受欢迎程度。
你不能通过他的使用量多少来选择一个使用哪个类库,因为这些JSON框架的功能不尽相同。而是应该根据实际使用环境选择最适合的。
排名靠前的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个类库的类型
最后的一点想法
当我们拿着这份列表与去年的结果做对比的时候,我们发现一些小的类库的排名有一些小的波动,Spring有明显上升,而MongoDB消失在名单中。
如果你已经对类库有了选择,但你仍然寻找最终的工具,我们有一个完美的建议给你。