Javaフレームワーク「Quarkus」登場。Javaコードからネイティブバイナリを生成し瞬時にJavaアプリが起動、コンテナへの最適化を実現。プログラミングJavaフレームワーク「Quarkus」登場。Javaコードからネイティブバイナリを生成し瞬時にJavaアプリが起動、コンテナへの最適化を実現。Hatは、Kubernetesなどのコンテナ環境に最適化されたJavaアプリケーションを実現するフレームワーク「Quarkus」を発表しました。HatはQuarkusの目的を、Kubernetesやサーバレス環境においてJavaを先進的なプラットフォームにすることだと説明しています。下記はQuarkusを発表したブログの記事から引用。architectures.Quarkusのゴールは、Kubernetesやサーバレスなどの環境において、分散環境の幅広いアプリケーションアーキテクチャに適合するため、デベロッパーに対してリアクティブとインペラティブなプログラミングモデルを統合して提供することで、Javaを先進的なプラットフォームにすることだ。インペラティブとリアクティブの両モデルに対応したプログラミングが可能Quarkusの特徴は、具体的には2つ分かれています。1つはプログラミングにおけるフレームワークとしてのQuarkusで、プログラミングにおいてインペラティブ(Imperative)なモデル、すなわち実行すべき命令を1つ1つ順番に記述していく比較的伝統的といえるモデルと、リアクティブ(Reactive)なモデル、すなわち(説明するのが難しいのですが)扱っている値の変更や関係性を中心に記述する最近注目されているモデルの両方を可能にするというもの。Java」から引用また、既存の優れたJavaライブラリに対応するフルスタックのフレームワークだと説明されています。Java」から引用Javaコードからネイティブバイナリを生成、瞬時にJavaアプリが起動するコンテナそしてQuarkusのもう1つの特徴が、Javaアプリケーションのコードからネイティブバイナリを作成し、コンテナ化することで瞬時にJavaアプリケーションが起動し、メモリ消費量も少ない、コンテナやKubernetes環境に最適化された実行形式を実現できることです。IMAGE」の図を引用これはQuarkusのフレームワークを用いて開発されたアプリケーションをコンパイルして生成されたファイルを基に、GraalVM内のコンパイラを用いて実行可能なネイティブバイナリを生成、コンテナ形式にパッケージするという機能です。GraalVMとは、オラクルがオープンソースとしてリリースした多言語対応のVMです。参考:オラクル、JavaやJavaScript、Ruby、Pythonなど多言語対応を単一ランタイムで実現する「GraalVM」をオープンソースで公開。Hatのテストでは、簡単なデモアプリケーションが0.008秒で起動したことが紹介されています。これまでJavaアプリケーションはJavaVMの起動時間のオーバーヘッドなどがかかるため、軽量なコンテナ環境を十分に活かすことが難しいと考えられてきました。QuarkusはこうしたJavaの課題を解決すべく、プログラミングモデルの面で分散環境に対する柔軟性を持たせ、実行環境においては瞬時に起動しメモリ利用量もスリムにするもので、注目に値するフレームワークだといえそうです。Javaのエバンジェリストでもあるマイクロソフトの寺田氏も、自身のブログでQuarkusを「まさにこれを待っていた!!という技術でした」と紹介しています。あわせてご覧ください。≫次の記事NGINX、F5による買収を正式発表。≪前の記事NVIDIA、Mellanoxの買収を正式に発表。Niino(jniino)IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。2.7サポートを発表Google、Lookerの買収完了を発表。Enterprise、BtoBスタートアップ向け支援プログラムで無料提供と発表。Networksの買収を正式発表。Terminal」機能確定版リリース。コマンドラインからIssueやプルリクなど実行可能に。usPublickeyについて/運営者についてお問い合わせ広告についてプライバシーポリシ。