從2018年JVM生態系統報告中吸取的經驗教訓|
最近由ofollow,noindex" target="_blank">Snyk 釋出了一份 關於JVM生態系統的新報告 ,由Oracle Java雜誌 撰寫。他們調查了來自社群的10,000多名Java開發人員(即Java使用者組和Java Magazine使用者的成員)。
報告中涉及的主題包括:語言和JDK,工具,應用程式基礎結構和CI / CD以及其他過程。
1. 語言和JDK
- 91%的Java開發人員使用OpenJDK或HotSpot(4%使用J9,1%使用Azul)
- 88%的Java開發人員仍然使用Java 7或8(9或更高版本只有8%)*該調查在10和11版本之間開放
- 只有8%計劃在每個新版本之後採用最新版本的Java,其餘計劃堅持使用LTS版本或未定
- 90%的JVM使用者使用Java作為主應用程式,而不是其他基於JVM的語言
2.工具
- 45%使用IntelliJ IDEA(免費和/或付費),38%使用Eclipse,11%使用Apache NetBeans
- 對於主要構建工具,60%使用Maven,19%使用Gradle,6%根本不使用
- 74%使用Git作為原始碼管理平臺,16%使用Subversion(SVN)
- 檢視程式碼庫,GitHub(25%),BitBucket(25%)和GitLab(20%)之間存在相當均勻的分歧
- 單位測試似乎是78%受訪者使用JUnit 進行測試的最受歡迎的選擇,而Mockito使用率為45%*受訪者可以在此處選擇多個答案
3.應用基礎架構
- 在使用雲平臺的使用者中,63%使用Amazon AWS,20%使用Google Cloud,18%使用Azure(43%使用任何雲平臺)
- 43%執行容器,33%執行VM(33%也不使用任何雲方法)
- 27%的人在生產中使用Oracle資料庫,50%使用SQL(MySQL,PostgreSQL或MS SQL)
- 36%不會在生產中使用的同一個應用伺服器上開發(風險承擔者!)
- 23%的人不知道他們的應用程式中有多少開源依賴項
- 50%的受訪者不對其程式碼庫進行任何形式的稽核(每季度24%的稽核程式碼,每6個月稽核11%)
4.CI / CD和其他流程
- Jenkins是迄今為止最受歡迎的CI伺服器,使用率為57%,最接近的亞軍是21%的“無”(Bamboo使用率為5%)
- 61%的受訪者不使用CD釋出自動化工具或不知道使用哪種 - Ansible以16%的使用率領先
對於初學者來說,該報告讓我們更好地瞭解了JVM,語言和工具使用的行業趨勢。