JavaRush /Java Blog /Random-JA /2021 年の Java トレンド: Kotlin、マイクロサービス アーキテクチャ、Kubernetes

2021 年の Java トレンド: Kotlin、マイクロサービス アーキテクチャ、Kubernetes

Random-JA グループに公開済み
開発の世界は急速に変化しています。変化に対応するには、この世界で何が起こっているのかを理解する必要があります。トレンドを知ることで、急速に変化するトレンドに適応できます。人工知能、統合数の増加、モノのインターネットは、世界的なプログラミング トレンドの一部にすぎません。JavaRush は、Java プログラミングのスペシャリストであり講師でもある Andrey Rodionov 氏に、2021 年に Java に何が起こるのかを尋ねました。2021 年の Java トレンド: Kotlin、マイクロサービス アーキテクチャ、Kubernetes - 1

Java が依然として唯一の解決策となっているのはどの分野ですか?

近い将来、Java はエンタープライズ アプリケーション (つまり、大企業が収益を上げるために使用する企業アプリケーション。そのようなアプリケーションには大規模なコード ベースと高い信頼性要件が必要です - 編集者) およびバックエンドを開発するための主要なプラットフォームの 1 つであり続けるでしょう。Java はマイクロサービス アーキテクチャによく適合しますが、マイクロサービスを作成するための唯一の代替手段ではありません。

Java と比較して、他の JVM 言語、特に Kotlin にはどのような見通しがありますか?

Groovy 言語と Scala 言語の誇大宣伝の後、 Kotlin は現在主要な JVM 言語です。これはすでに Android 開発の標準となっていますが、Java エンタープライズの世界ではまだその地位を確立していません。多くの人気のあるフレームワーク ( SpringVert.xgRPCRSocket ) もこれに依存しており、フレームワーク内で使用することができます。

Kotlin は、Java 仮想マシン上で実行される静的型付けのオブジェクト指向プログラミング言語であり、JetBrains によって開発されています。また、JavaScript にコンパイルし、LLVM インフラストラクチャを介してさまざまなプラットフォーム上で実行可能コードにコンパイルします。

Kotlin の機能: JVM バイトコードまたは JavaScript にコンパイルされ、オープンソース、読みやすい構文、Kotlin プログラムは既存の Java フレームワークとライブラリを使用できます。

リリース間隔が短くなることで Java の品質は低下しますか?

以前のように次のリリースまで数年待つのではなく、言語のイノベーションだけが準備ができ次第リリースされます。一部のリリースは、非常に人気のあるイノベーションをもたらすものではないため、開発者に注目されない場合があります。

Spring Framework: 多様なニーズに合わせてエコシステムを拡張し続けるのでしょうか?

Spring エコシステムは活発に開発を続けており、私は定期的に、これまで聞いたこともなかった別のサブプロジェクトを発見します。Spring のサブプロジェクトとして登場した Project Reactor と r2dbc が、今やリアクティブなアプローチの標準になったと言えることも注目に値します。

Project Reactor は、リアクティブ プログラミング モデルを実装する Java 8 ライブラリです。これは、リアクティブ アプリケーションを構築するための標準である Reactive Streams 仕様に基づいて構築されています。

R2DBC (Reactive Relational Database Connectivity) は、SQL のリアクティブ プログラミング専用のオープン ソース プロジェクトです。

クラウド インフラストラクチャ IaaS、SaaS、PaaS の開発トレンドは何ですか? クラウドによりインフラストラクチャの開発、展開、保守、拡張がどのように容易になるのでしょうか?

ここでの主なトレンドは、引き続き Kubernetes と、サービス メッシュの形式でのその周囲のインフラストラクチャです。自尊心のあるすべてのクラウド プロバイダーは、Kubernetes クラスターを使用する機会を提供しています。また、アプリケーションが Kubernetes 上で実行されるように作成されている場合、デプロイと拡張がはるかに簡単になります。

Kubernetes (K8s) は、コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動化するためのオープンソース ソフトウェアです。

Kubernetes は、管理と検出を容易にするために、アプリケーションを構成するコンテナを論理ユニットにグループ化します。

Kubernetes は、多数のホスト間でコンテナを管理および実行し、多数のコンテナのコロケーションとレプリケーションを可能にします。このプロジェクトは Google によって開始され、現在では Microsoft、RedHat、IBM、Docker を含む多くの企業によってサポートされています。

2021 年に注目に値する他の開発トレンドは何ですか?

現在も増加傾向にある興味深いトレンドの 1 つは、GraalVM ネイティブ イメージです。これにより、従来の Java アプリケーションを、JVM および関連ライブラリの動作を必要としないバイナリ アプリケーションに変換できます。このようなバイナリ ファイルは、アプリケーションの新しいインスタンスを迅速に開始でき、JVM を「ウォームアップ」する必要がないため、マイクロサービス アーキテクチャとサーバーレス アプローチに非常によく適合します。

Java の開発により、若い開発者に対する要件は最近変わりましたか?

開発者が新しいバージョンの Java を使用している場合でも、ほとんどのプロジェクトには依然として Java 8 のイノベーションが含まれています。したがって、主な要件は、Stream API と関数型プログラミング要素の知識です。また、マイクロサービス アーキテクチャDockerKubernetesについて理解しておくとよいでしょう。最新のプロジェクトでは、初心者の開発者がすぐにこれに対処する必要があるからです。

Stream API は、関数型スタイルでデータ構造を操作する新しい方法です。ストリーム API (あるコンピューター プログラムが別のプログラムと通信する方法の記述) は、本質的にはデータのストリームです。

Java 8 の出現により、Stream API を使用すると、プログラマーは以前は多くのコード行を必要としていたものをより簡潔に記述できるようになり、データ セットの操作、特にフィルタリング、並べ替え、その他のデータ操作操作を簡素化できるようになりました。中間操作がない場合は、ストリームなしで行うことができ、多くの場合そうすべきです。そうしないと、コードはストリームなしよりも複雑になります。

Docker は、コンテナ化された環境でのアプリケーションのデプロイと管理を自動化するソフトウェアです。

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION