【編者按】本文作者為 Henn Idan,主要介紹基于 GitHub 中的數(shù)據(jù)分析两疚,得出的2016年度最受歡迎的100個 Java 庫。本文系國內(nèi) ITOM 管理平臺 OneAPM 編譯呈現(xiàn)。
誰拔得頭籌否纬?誰又落于人后?我們分析了 GitHub 中 47,251 條依賴關系怠晴,得出最受歡迎的100個 Java 庫遥金。
漫長的周末里,我們最喜歡的消遣方式是遍歷 GitHub蒜田,找出最受歡迎的 Java 庫稿械。我們決定,將其中的樂趣與所得分享給大家冲粤。
我們分析了 GitHub 中前3862個 Java 項目里用到的12059個不同 Java 庫的47251條導入聲明美莫。從該列表中,我們選取了排名前100的 Java 庫梯捕,并將結果在此呈現(xiàn)厢呵。
最受歡迎的20個 Java 庫
連續(xù)兩年,junit 二度成為 GitHub 中最受歡迎的 Java 庫傀顾。與此同時霞掺,Java 日志記錄 API slf4j 獲得第二名禀崖,log4j 排名第四。
此外,谷歌的開源項目 Guava 來勢洶洶脱羡,勇奪第三名,該庫包含了一系列谷歌內(nèi)含的核心 Java 庫梦湘。如果你對 Guava 不甚了解或者不確定如何使用税娜,你應該讀一下我們的文章,了解一下谷歌 Guava 鮮為人知但其實每個開發(fā)者都應該知道的特性椭岩。
Spring 庫的崛起
作為 Java EE 的首要競爭者茅逮,Spring 框架日漸流行,其受歡迎程序也反映在 GitHub 中判哥。在本次最受歡迎的100個 Java 庫中献雅,44個庫與 Spring 相關。其中塌计,最有意思的是 Spring Boot 的疾速增長挺身,該庫能幫助開發(fā)者通過最精簡的引用打造以 Spring 為驅(qū)動的應用及服務。你想在最短的時間內(nèi)打造能適應生產(chǎn)環(huán)境的 Java 應用么锌仅?請閱讀我們的文章:Java 引導程序:Dropwizard 對比 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 項目中的受歡迎程度贱傀。
你不應該根據(jù)表象判斷一個庫的好壞。并非所有的 JSON 庫都性能相當伊脓,選擇合適自身環(huán)境的庫非常重要府寒。想要知道應該如何選擇 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
最驚艷的4個庫
其實株搔,有許多有意思甚至新出現(xiàn)的庫剖淀,都讓我們印象深刻。不過纤房,我們決定專注于下面4個庫:
第68名:projectlombok.lombok ——該庫旨在簡化 Java 中的引用樣本纵隔,并用簡單的注釋集替代了一些極為繁雜的引用樣本。
第90名:jsoup.jsoup——該庫用于同 HMTL 協(xié)作炮姨。它提供了通過 DOM 操作捌刮、CSS 以及類 jquery 方法以抽取并操縱數(shù)據(jù)的 API。
第92名:io.netty.netty-all——用于快速剑令、簡便地部署可維護的高性能協(xié)議服務器以及客戶端的網(wǎng)絡應用框架糊啡。
第98名:dom4j.dom4j——用于處理 XML 的開源框架。與 XPath 集成吁津,提供了對 DOM棚蓄、JAXP 以及 Java 平臺的全面支持。
按類型排序的100個 Java 庫
排名計算方式
你很可能會疑惑碍脏,我們是如何得到該排序的梭依。首先,我們根據(jù)評分抽取出 GitHub 中排名靠前的 Java 項目典尾。之后役拴,抽取使用 Maven 或 Ivy 進行依賴管理的項目,快速地得到它們的 pom.xml / ivy.xml 依賴钾埂。至此河闰,我們得到 47,251 個數(shù)據(jù)點。
接下來褥紫,經(jīng)過一些整合與分析姜性,我們得到來自前3862個 Java 項目的12059個不同的 Java 庫。由此髓考,根據(jù)這些庫在 GitHub 中出現(xiàn)的次數(shù)部念,不難得到最受歡迎的100個庫。
如果你想查看我們的原始數(shù)據(jù)氨菇,可以在此處查看文件儡炼。盡管我們努力保持嚴謹以防止出現(xiàn)疏忽,你也可以看看這些數(shù)據(jù)查蓉,說不定會有新的有趣見解乌询。
文末反思
當我們將今年的前100名數(shù)據(jù)與去年的相對比時,我們發(fā)現(xiàn)小的 Java 庫有一些名次變動豌研,其中 Spring 相關庫的排名總體升高妹田,而人們對 MongoDB 相關庫的興趣有所下降竣灌。
然而,對于絕大多數(shù) Java 開發(fā)者而已秆麸,他們對自己選擇的 GitHub 庫,都保持相當?shù)闹艺\度及汉【谌ぃ考慮到現(xiàn)有的使用這些庫的項目數(shù)量,我們有理由相信這些庫在2017年甚至更久的以后都會廣受歡迎坷随。
如果你已經(jīng)選好了自己用的庫房铭,但仍然在尋找終極工具,我們?yōu)槟闾峁┝俗罴训慕ㄗh温眉。點此查看《版本升級之后 Java 開發(fā)者最喜歡的15款工具》缸匪。
OneAPM 能為您提供端到端的 Java 應用性能解決方案,我們支持所有常見的 Java 框架及應用服務器类溢,助您快速發(fā)現(xiàn)系統(tǒng)瓶頸凌蔬,定位異常根本原因。分鐘級部署闯冷,即刻體驗砂心,Java 監(jiān)控從來沒有如此簡單。想閱讀更多技術文章蛇耀,請訪問 OneAPM 官方技術博客辩诞。
本文轉(zhuǎn)自 OneAPM 官方博客
原文地址:https://dzone.com/articles/the-top-100-java-libraries-in-2016-after-analyzing