資安廠商Snyk在2019下半年收集了兩千份問卷,調查JVM生態系的最新狀況,發現開發者選用的JDK版本以及JVM語言發生變動。由於甲骨文改變JDK版本的授權許可,因此不少開發者開始轉移使用OpenJDK,雖然Oracle JDK仍占有34%的市場主導位置,但是從前一年的70%下降到了34%,OpenJDK占比前一年只有21%今年來到57%。

JDK的分布,第一名Oracle JDK占34%,第二名則是Adopt OpenJDK占24%,也就是說,現在每4位開發者,就有一位使用Adopt OpenJDK,另外,甲骨文發布的OpenJDK也有15%。Snyk還調查了開發者付費取得JDK的狀況,絕大多數86%的開發者不願意為JDK付錢,只有9%的人付費取得支援,而在JDK支援廠商中,甲骨文仍然是贏家占55%,每20位開發者就有一位付錢給甲骨文,而紅帽、IBM和Azul其他廠商則平均地瓜分市場。

而可能影響開發者支付JDK支援費用的一大原因,便是JDK 9開始大改發布節奏,每年三月和九月都會發布一個新的Java版本,這樣不只影響許多用戶更新的策略,也影響了支援生命周期,因此安全性也連帶受到影響,舊版本可能無法獲得安全修補程式的支援。因此41%的開發人員,認為新的更新節奏,會是影響付費取得支援的考量點之一。

另外,Snyk發現JVM生態系的開發語言版圖正在改變,絕大多數86.9%的開發者仍使用Java建置JVM應用程式,但Google力推的Kotlin,現在則以5.5%的占比領先Scala和Clojure,獲得第二名,其他兩者的占比為2.6%和2.9%。Snyk表示,這樣的現象並不意外,因為Kotlin與Java整合程度良好,在類似Spring Boot等框架中使用Kotlin開發系統更為容易。

目前,Java 8仍然是使用數最多的版本,在填寫問卷的開發者中,有64%仍然使用Java 8,而2018年9月Java的第一個長期支援版本Java 11,則緩慢地改變分布,目前已經有25%的開發者採用,其他版本的使用率都在4%以下。開發者不願意採用新版本的原因之中,有51%認為程式運作良好,便不需要更新,其他主要的理由還有搬遷的成本太高,以及企業不願意頻繁地採用新版本。

而從Java 9開始加入的模組系統,現在真正採用的開發者還是不多,只有7%受訪者正在使用模組系統,29%的受訪者有計畫未來要採用。有25%的受訪者認為,Java模組使用起來相當困難,總難度10分,模組使用的難度在7分以上,有其他25%的人認為不困難也不容易,Snyk結論,開發者還是需要花一些時間精力研究模組系統,無法立即上手。


Advertisement

更多 iThome相關內容