我最近一直在進行年度“Java 狀態”調查,持續了過去幾周。這是第五次進行此項調查,並且自然是迄今為止規模最大的,共有5160名開發者抽出時間參與並回答問題。
現在,讓我們直接進入數據。
1. Java 採用
正如預料的那樣,Java 8 在大多數開發社區中仍然被用於生產環境中。
Java 9 和 10 的採用率仍然很低,僅佔不到 5%。
作為參考,2017 年,Java 7 及更早版本的數字約為 24.4% 和 10.6% – 顯然生態系統正在升級,主要升級到 Java 8。
2. Spring 採用情況
現在讓我們來查看一下 Spring 的採用情況:
這裏清楚地表明瞭轉向 Spring 5 的趨勢,目前運行在生產環境中的 Spring 驅動系統 24%,相比去年初的 2.2% 增長了顯著。
並且,當然,今年我們也有清晰的 Java EE 採用數據,因為——相信吧——並非所有人都使用 Spring 🙂
3. Spring Boot 採用
從所有使用 Spring 構建的系統中,幾乎所有系統都在生產環境中也使用了 Boot。
令人驚訝的是,Spring Boot 2 的採用速度之快,考慮到 GA(最終通用版本)剛剛兩個月前發佈,它已經達到了驚人的 30% 採用率。
“Boot 1.4 及更早版本”在一年前從 30% 降至現在的 6.8%,這意味着 Boot 社區的遷移和升級速度遠快於整個生態系統。
最後,去年,大約 30.2% 的 Spring 應用程序僅使用了核心框架,而沒有使用 Boot;現在,這個數字僅為 16.7%。簡單來説,大多數 Spring 應用程序現在都使用 Boot。
4. 構建工具採用
Maven 依然佔據主導地位。去年該工具的市場份額為 75.7%,目前已達到 74.2%。
至於 Gradle,它從 Ant 那裏搶佔了更多市場份額,目前佔據市場份額的近 1/5,即 21.3%。
5. 開發環境(IDE)採用情況
IDE 的數量一直引人注目,今年也不例外:
IntelliJ 從 2017 年的 45.8% 增長到今天的 55.4%,在 Java 領域明顯佔據優勢。
NetBeans,令一些非常激烈的支持者感到失望,今年下降至 5.1%,低於 2017 年的 12.4%。
而 Eclipse 則似乎阻止了進一步的流失,在今年下降了 2%,至市場份額的 38%。
有趣的是,IntelliJ 獲得的大部分市場份額實際上來自 NetBeans,而非 Eclipse。
6. Web/Application 服務器採用
以下是當前服務器市場的現狀:
實際上,這個問題是最近才加入調查中的,因此沒有2017年的數據可供比較,但結論很明確,也出乎意料不了。
簡單來説,Tomcat 佔據市場主導地位,其採用率超過其他所有服務器的組合,達到62.5%。
其他服務器的採用率約為市場總量的5%,分佈相對均勻。
7. 其他 JVM 語言
接下來是最後一項 – 還有哪些基於 JVM 的語言被使用呢?
首先,62.8% 的項目是單語言,僅使用 Java。
以下是生態系統的概況:
以下僅是使用其他語言的具有前瞻性的項目:
主要結論是,當然是 Kotlin – 這是一個瘋狂的一年,從 2017 年的 11.4% 躍升至今天的 28.8%。
Scala 也很值得關注,從 2017 年的 28.4% 躍升至今年的 21.6%。
8. 結論
對 2018 年 Java 生態系統的審視無疑很有趣,證實了一些已知的趨勢,並揭示了一些新的趨勢。
Spring Boot 現在已成為大多數 Spring 項目的一部分,這已經不再令人驚訝,考慮到該項目的相對較短的時間線,這仍然是一個巨大的成就。
在 IDE 方面, IntelliJ 仍在強勁發展中。而且,與此密切相關的是,Kotlin 今年可能是最大的“贏家”,徹底改變了 JVM 語言的格局。
總而言之,這是一次對 Java 社區的精彩回顧,並衷心感謝所有參與者。