2018年冷链百强
谁在上面,谁在后面? 我们分析了Github上的47,251个依赖关系,并抽取了前100个Java库
对于长周末而言,我们最喜欢的消遣是浏览Github并搜索流行的Java库。 我们决定与您分享乐趣和信息。
我们分析了Github上前3,862个Java项目使用的12,059个独特Java库的47,251个导入语句。 从该列表中,我们提取了前100名,现在我们共享结果。 提示鼓卷。
新邮报:前100 Java库在2016年-分析后47251依赖https://t.co/1F5yXZ29QE pic.twitter.com/HZznMYuvJM
— Takipi(@takipid) 2016年5月10日
最受欢迎的20个Java库
junit 去年获得冠军 ,是Github上最受欢迎的Java库。 Java日志记录API slf4j排名第二,而log4j排名第四。
排名上升的是Google的开源Guava,排名第三。 它包含一系列内部在Google内部诞生的核心Java库。 如果您不熟悉Guava或不确定如何使用它,则可以阅读我们的文章, 其中介绍了每个开发人员都应该知道的Google Guava鲜为人知的一些功能 。
Spring图书馆的兴起
Spring框架作为Java EE的主要竞争对手而在Java社区中变得流行,这种流行也体现在Github中。 在100个最受欢迎的库中,有44个与Spring相关。 这里最有趣的部分是Spring Boot的Swift崛起,它使开发人员可以用最少的样板创建Spring支持的应用程序和服务。 您是否想在尽可能短的时间内启动可用于生产的Java应用程序? 看看我们有关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的本机支持(尽管它几乎使它成为Java 9! ),因此我们想了解一下这些库在Github项目中的流行程度。
您不应该凭封面来评判图书馆。 并非所有JSON库都具有相同的性能,因此为您的环境选择合适的库可能至关重要。 如果您想知道应该使用哪一个,请查看我们最新的JSON基准测试 。
顶级JSON库是…
#14 – fastxml.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 –该项目旨在减少Java中的样板,用一组简单的注释替换一些最严重的违规者。
#90 – jsoup.jsoup –一个用于处理实际HTML的Java库。 它提供了一个使用DOM操作,CSS和类似于jquery的方法提取和处理数据的API。
#92 – io.netty.netty-all –一种网络应用程序框架,用于快速轻松地开发可维护的高性能协议服务器和客户端。
#98 – dom4j.dom4j –用于处理XML的开源框架。 它与XPath集成在一起,并提供对DOM,JAXP和Java平台的全面支持。
按类型排名前100位的图书馆
魔术背后的数学(或:我们是如何得出清单的)
您可能在问自己,我们如何获得这些信息。 我们首先从Github的排名中挑选出排名靠前的Java项目。 我们获取了这些数据,并提取了使用Maven或Ivy进行依赖管理的项目,以快速访问其pom.xml / ivy.xml依赖,这给我们留下了47,251个数据点。
我们进行了一些疯狂的工作和分析,这给我们留下了12,059个独特的Java库,供Github上排名前3,862的Java项目使用。 根据它们出现在Github项目中的数量,可以很容易地从那里获得前100个库。
如果您想查看我们的原始数据, 可以在此处找到该文件。 尽管这次我们很清醒,但还是欢迎您来看看并确保我们不会错过任何有趣的见解。
最后的想法
当我们将当前的前100名列表与去年的结果进行比较时,我们可以发现较小的库中有一些变动,对Spring和MongoDB的兴起越来越感兴趣。
但是,在查看大多数Java开发人员时,他们在选择Github库方面非常一致。 考虑到使用这些库的现有项目数量将在2017年及以后继续使用,这并不令人感到意外。
如果您已经选择了库,但仍在寻找最终的工具,我们将为您提供完美的建议。 查看主要版本发布后Java开发人员使用的前15种工具 。
翻译自: https://www.javacodegeeks.com/2016/05/top-100-java-libraries-2016-analyzing-47251-dependencies.html
2018年冷链百强