BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ アーティクル Java InfoQトレンドレポート - 2019年7月

Java InfoQトレンドレポート - 2019年7月

原文(投稿日:2019/07/16)へのリンク

この記事では、InfoQ編集チームが現在、Javaの分野での技術と新しいトレンドの採用をどのように見ているかの概要を説明します。Javaの技術だけでなく、Java仮想マシン(JVM)であるKotlinやScalaのような関連言語およびJavaベースのフレームワークとユーティリティにも焦点を当てます。Java 11および12の採用など、コアJavaの動向、およびSpring BootやMicroProfileなどのWebベースのフレームワークのトレンドについて説明していきます。

このレポートの目的は、技術リーダーが中長期的な技術投資の意思決定を行うことを支援し、個々の開発者が、どこに学習とスキル開発のために貴重な時間とリソースを投資するかを選択することを支援することです。2006年にInfoQが開始されて以来、このトピックは数多く取り上げられており、JavaおよびJVMのトレンドを長年にわたって社内で追跡していますが、これは最初に公開されたJavaトレンドレポートです。

InfoQとQConは両方とも、おそらく「イノベーター、アーリーアダプター、アーリーマジョリティステージ」に分類されるトピックに焦点を当てています。私たちがやろうとしているのは、Geoffrey Moore氏が初期の市場と呼んでいるものに適合する考えを明確にすることです。初期の市場では、顧客ベースは、チャンスや迫り来る問題を先読みしている技術の愛好家と先見の明のある人で構成されています。また、キャズムを越えてより広範な採用に向かうアイデアを探しています。この文脈では、採用曲線におけるテクノロジーの正確な位置は異なる可能性があるということは言っておかなければなりません。例として、Java 11はこの時点でサンフランシスコのベイエリア企業の間で広く採用されているかもしれませんが、他の場所ではそれほど広く採用されていないかもしれません。

2018年の内部Javaトレンドレポートが削減されて以来の重要な変更には、採用プロセスのイノベーター段階にあるJava 13(非LTSリリース)の追加があります。これにより、Javaバージョンを採用曲線に沿って移動するカスケード効果が発生しました。Java 11(LTSリリース)がアーリーアダプター(EA)に移行し、Java 8(現在はOracleから商用サポートの終了として正式にタグ付けされています)はレイトアダプター(LM)への移行しています。

HotSpot以外のJVMの採用が増えており、OpenJ9はアーリーアダプター段階にあると考えており、グラフにGraalも導入しています。あらゆるタイプの組織でクラウドテクノロジーの採用が増加しているため、起動時間が速い、メモリフットプリントが少ないなどの「クラウドネイティブ」な基本的性質を含むJREに対する要求が高まっていると考えています。Graalそれ自体は興味深いものではないかもしれませんが、このJavaアプリケーションをネイティブバイナリにコンパイルする機能を、ポリグロット言語のサポートと合わせて、このプロジェクトを注意深くウォッチしていきます。

Javaマイクロサービスフレームワークのシャッフルがあり、Spring BootとSpring Cloudがレイトマジョリティに移行しています。これは、開発者がフレームワークから遠ざかっているということではなく、(市場の飽和により)普及率が低下していることを意味します。Helidon氏はEA内でMicroProfileに参加しましたが、比較的ニッチな訴求のため、vert.xはEAフェーズを超えては行かないと考えています。

コンテキストとして、2018年後半の内部トピックグラフは次のようになります。2019バージョンは記事の先頭にあります。

Java 2018

以下は、何人かのInfoQ Javaエディターの間において、内部的なeメールの会話の簡単に編集および集約された要約です。これは、採用グラフでの推奨される位置付けに対するより多くのコンテキストを提供しています。

Daniel Bryant氏。独立した技術コンサルタント、Datawireのプロダクトアーキテクト、およびInfoQ Newsマネージャ。

それでは、Javaトレンドグラフを更新しましょう!2018年の社内トラッカーのすべてのトピックが正しい採用フェーズにあるかどうかを調査したいと考えています。また、削除または追加するトピックを特定します。

10人に対する手始めとして、イノベーターにおける変更を提案をします。

  • Java 11 -> Java 12/13
  • OpenJ9をアーリーアダプター(EA)へ移行
  • Adopting Modularisationを追加
  • Quarkusを追加

EAの中では

  • Spockをレイトアダプター(LA)に移動する
  • LagomとMicroProfileを除き、マイクロサービスフレームワークをLAに移動しますか?
  • Helidonを追加

最近の採用とラガード段階が今のままだとうれしいです。

Erik Costlow氏。セキュリティとJavaに注力するソフトウェアアーキテクト。

こちらが私の見解です。

  • Java 8をLaggardsに移動します。 2014年にリリースされ、オラクルはパブリックサポートを終了しました。
  • 私が思うに、LTS Java(JDK11)はまだアーリーアダプターです。
  • 非LTS (JDK 13?) はイノベーターであり、いずれかと入れ替えたものが現状となります。
  • Graal自体は重要ではありません。本当に望んでいることは2つです。
    • 静的にコンパイルされたネイティブJavaアプリケーション(native_image)
    • Polyglot Java(Ruby Truffleなど)
    • Graal native_imageがJavaである場合、または他のベンダーが静的コンパイルに同じクローズドワールドの仮定をする場合、未解決の問題があります。問題は、native_imageがTCKを渡さないことです。重要な質問としては、他のJVMベンダーがこれを行うことを許可されているのか、それを行うとどうなるのかということです。
  • Excelsior、Azul、Liberica、Corretto、Alibaba Dragon、AdoptOpenJDK、RedHatなどがあるため、GraalとOpenJ9は非HotSpot JVMになります。
  • Node on the JVMは活動していません。
  • テストフレームワークをアーリーマジョリティに移行します
  • Spring Bootをレイトマジョリティに移動します。これをよく見ますが、安全な選択です。
  • 「Java EEをJakarta EEに移行」をイノベーターとして追加します。これは興味深いことで、注目されると思います。

現在、Javaのディストリビューションとリリースが多すぎます。これを大規模に管理することや、アプリケーションやサービスが変更されるものや、そうでないものがあるなかで、チームやシステムなどの間で、実際に実際にどのように運用していくかについての、イノベーターの話を聞きたいです。 アプリケーションがネイティブコンパイルされている場合、誰がその「JRE」にパッチを適用する責任を負うのでしょうか。そして、それは何を意味するでしょうか。

Dustin Schultz氏。リードソフトウェアエンジニア、Pluralsight作成者、テクノロジーエバンジェリスト。

イノベーターに関して、すべての提案に+1(技術的にはQuarkusはvert.xおよびMicroProfileですが、イノベーターであることに同意します。)

個人的に、私はSpockがEAを超えたこと(あるいは超えること)はないと思います。たくさんの採用を見ていません。

EAからVertxを除くすべてのマイクロサービスフレームワークの代替を削除します... Lagomを離れる可能性があります。ただし、どちらがこれを超えるかはわかりません。

Groovyはかなりフラットであり、今後低下する可能性があるため、レイトマジョリティに移行するのが適しているかもしれません。

Charles Humble氏。InfoQの編集長。

このほとんどに同意します。「Adopting Modularisation」は興味深いです。OSGIの人たちは、イノベーターにOSGIを入れることについて何か言いたいことがあると思いますが、実際にはおそらく正しいでしょう。

Clojureをレイトマジョリティに移行すべきだと思います。もちろん、まだ使用されていますが、使用が減少していると感じており、常にかなりニッチでした。

Ceylonを削除します。それほど大きな牽引力を得ることは決してなかったし、Eclipseへの移行がそれを大いに助けたとは思わない。私が見る限り、プロジェクトに関する活動はほとんどありません。過去6か月で約10件のコミット

テストフレームワークについては、この時点で状況は非常に安定しているように見えます。落とすべきでしょうか。大まかに順番にランク付けしました。使用/採用の観点だと、Junit、TestNG/Cucumber、そして最後に、Spockです。しかし、私はそれが大きく変わっているとは思いません。

SmartBearは最近Cucumberを買収しましたが、それを後押しするかもしれませんが、それでも、私はこれらを追跡することをやめる方向に傾いています。

node on the JVMは大きな関心を集めているでしょうか。私は削除すると思います。

私はKotlinをアーリーマジョリティに移したいと思っています。私が思うに、主にAndroid開発の人気のおかげで、そのJVM言語について最近よく聞きます。そしてそれはキャズムを越えたと思いますが、Groovy、Swift、Goのようなものに遅れをとっていると思います。

Scalaはレイトマジョリティに留まることができると思います。使用は減少していますが、非常にスピードは遅いです。

私は、Javaバージョンの状況に対応する方法がよくわかりません。私の読みでは、非LTSリリースの採用はかなり制限されており、イノベーターが採用している可能性がありますが、それらの一部がEOLである場合、それは奇妙なものです。それでも、それをグラフ化するという点では、Java 8はまだレイトマジョリティであり、Java 11はEAで、Java 13はイノベーターでしょうか。

Ben Evans氏。New Relic, Incのプリンシパルエンジニア兼JVMテクノロジーアーキテクト。

Javaの非LTSリリースについて完全に同意します。私が見る本番デプロイメントのデータには、Java 11デプロイメントの5%以上の安定した上昇があるため、EAのように感じます。

Ceylonを完全に削除します。十分な牽引力を得ることができず、ランチは基本的にKotlinに食べられてしまいました。

Java 8はマジョリティの列にとどまると思います。かなりの量の新しいサービスがまだ書き込まれていますが、*どの*8以降のバージョンとも互換性のない主要なライブラリ(Cassandraなど)がまだあります。Java 8のサポートを終了する主要なライブラリはまだありません(ElasticSearchが最初になると思います)。

著者について

Ben Evans氏は、JVMパフォーマンス最適化企業であるjClarityの共同設立者です。 彼はLJC(ロンドンのJUG)のオーガナイザーであり、JCP実行委員会のメンバーであり、Javaエコシステムの標準の定義を支援しています。Ben氏はJavaチャンピオンです。 3回JavaOne Rockstarスピーカー、「Well-Grounded Java Developer」、新版「The Java for the Nutshell」、「Optimizing Java」の著者です。彼は、Javaプラットフォーム、パフォーマンス、アーキテクチャ、同時実行性、スタートアップ、および関連トピックに関する定期的な講演者です。Ben氏に、話すこと、教えること、書くこと、およびコンサルタント業務を依頼できます。詳細についてはお問い合わせください。

Erik Costlow 氏は、広範なJavaの経験を持つソフトウェアセキュリティの専門家です。彼は、Contrast Securityと公開Community Editionの開発者リレーションを管理しています。コントラストはセンサーをアプリケーションに織り込み、アプリケーションがデータをどのように使うかに基づいてセキュリティの脅威を検出できるようにします。Erik氏は、Java 8のセキュリティに重点を置いたOracleの主要なプロダクトマネージャーであり、ハッキングの最盛期に加わり、ゼロデイ脆弱性の発生が2年間なかった後に離脱しました。その間、彼は企業/商業レベルとコミュニティレベルの両方でJavaの詳細を学びました。彼はまた、Turbonomicの製品管理チームを支援して、データセンター/クラウドパフォーマンスの自動化で年間収益1億ドルを達成しました。Erik氏は、開発者がカスタムソースコードの脆弱性を見つけて修正するのを支援するツールであるFortify静的コードアナライザーの製品管理もリードしています。Erik氏は、Packt Publishingを通じて、データ分析、統計、暗号化に関する開発者向けコースもいくつか公開しています。

Dustin Schultz氏はリードソフトウェアエンジニアであり、Pluralsightの著者であり、テクノロジーエバンジェリストでもあります。コンピューターサイエンスの学士号と修士号を取得し、15年以上ソフトウェアを開発しています。Dustin氏はすべての技術を愛しており、最新の技術について取り組んでいるのをしばしば見つけることでしょう。彼は学ぶことも大好きで、すべてがどのように機能するかを常に知りたいと思っています。彼が小さかったとき、彼の母親は「物事の仕組み」に関する本を彼に買いました。彼からの質問すべてに疲れ切っていたからです。

Charles Humble氏は2014年3月にInfoQ.comの編集長を引き継ぎ、ニュース、記事、書籍、ビデオプレゼンテーション、インタビューなどのコンテンツ作成を指揮しました。 InfoQでフルタイムの役割を果たす前は、私たちのJavaのカバーをリードし、2012年7月にPwCに買収された報酬調査会社であるPRPi ConsultingのCTOでした。PRPiでは、彼は社内で使用されるすべてのカスタムソフトウェアの開発に対して全体的な責任を負っていました。彼は、開発者、アーキテクト、開発マネージャーとして20年ほどエンタープライズソフトウェアに携わってきました。余暇には、ロンドンに拠点を置くアンビエントテクノグループTwofishの1/3として音楽を書きます。デビューアルバムは、高価なおもちゃを14年間いじった後の2014年2月にリリースされました。そして、妻や子とできるだけ多くの時間を過ごしています。

Daniel Bryant氏はDatawireで独立した技術コンサルタントおよび製品設計者として働いています。 彼の技術的な専門性は「DevOps」ツール、クラウド/コンテナプラットフォーム、マイクロサービスの実装にフォーカスしています。Daniel氏はJavaチャンピオンであり、いくつかのオープンソースプロジェクトに貢献しています。また、InfoQ、O'Reilly、TheNewStackの執筆者でもあり、OSCON、QCon、JavaOneなどの国際会議で定期的に発表しています。たくさんの自由な時間の中で、彼はランニング、読書、旅行を楽しんでいます。

 

この記事に星をつける

おすすめ度
スタイル

BT