JRebelが"2022 Java Developer Productivity Report"を公開した。Javaのトレンドを紹介するこの年鑑は、今年で10周年になる。10年の間に多くのものが変わった。DockerやKubernetesやマイクロサービスといった今日一般的なテクノロジのほとんどは、10年前にはまだ存在さえしていなかったのだ。2021年10月から2022年1月にかけて実施された調査には、876名以上のJava開発者が回答を寄せている。
回答者が所属する企業の本社の場所に基いた上位3カ国は、米国、中国、ドイツがそれぞれ177名、128名、60名であった。職種としては開発者とJavaアーキテクトが48パーセントと22パーセントで最も多く、チーム規模では開発者3~9名(47パーセント)、ついで10~20名(22パーセント)という順であった。企業規模については、大企業(1000人以上)が31パーセントで最も多く、次いで中堅企業(100~1,000人)が27パーセントだった。
最初の質問は、使用しているJDK言語、JDK 17へのマイグレーション計画、好みのJDKディストリビューションに関するものだ。
以下のイメージは、最も多く使用されているJDK言語を示している。
Java 8が相変わらず多いが、Java 11も増加している。KotlinがJava以外で最も多く使用されているJVMである、という結果も出た。
2021年9月にリリースされたJDK 17 LTSが勢いを増している。回答者の37パーセントが今後6か月以内に、25パーセントは6~12か月以内に、アップグレードの計画があると報告しており、この2つを合わせると62パーセントという結果になる。
アプリケーションで使用しているJRE/JDKは何か、という質問に対しては、以下のような回答が得られている。
Oracle Javaがリーダとして突出しているのは、調査参加者の統計において大企業が多かったことを考慮すれば、当然の結果だろう。
続くアーキテクチャのトレンドに関する調査では、マイクロサービスベースのアプリケーションが32パーセントで最も広く普及しており、次いでモノリスが22パーセント、モジュラーモノリスが13パーセント、という結果になった。意外ではないが、マイクロサービスで好まれているフレームワークとしては、Spring Bootが競合をリードしている(74パーセント)。マイクロサービスアプリケーションを採用する理由のひとつとして、モノリスアプリケーションに比べて再展開の時間を削減できることがあるが、今回の分析では、回答者の18パーセントがコンテナ毎に6~10分、26パーセントが10分以上を要しており、この点ではまだ改善の余地があるようだ。
仮想プラットフォームとしては、Docker(41パーセント)とKubernetes(26パーセント)が最も一般的な選択肢になっている。
PaaSプロバイダの人気では、AWS(31パーセント)がAzure(14パーセント)とGoogle Cloud Platform(8パーセント)を凌駕している。
CI/CDの世界では、Jenkinsが46パーセントで今回も独占しているが、GitHub Actionsが16パーセントで新たな2位となっている。
アプリケーションサーバの分野ではTomcatが、ビルドツールではMavenが、依然として最上位の選択肢に留まっているt。IDEの世界ではIntelliJ IDEAが48パーセントでトップの位置にあるが、VS Codeの人気も高まっている(18パーセント)。
Jevgeni Kabanov、Toomas Römer両氏がZeroTurnaroundの社名で2007年に創業したJRebelは、Java開発生産性ツールの分野で活動を続けており、2019年以降はPerforce Softwareの所有となっている。