検索
ニュース

モダンブラウザで動作するWebAssemblyベースのJVM「CheerpJ 3.0」が登場Javaアプリケーションをプラグインなしにブラウザで実行できる

Leaning Technologiesは、モダンブラウザで動作するWebAssemblyベースのJava仮想マシン(JVM)「CheerpJ 3.0」を提供開始した。

Share
Tweet
LINE
Hatena

 Leaning Technologiesは2024年2月1日(米国時間)、モダンブラウザで動作するWebAssemblyベースのJava仮想マシン(JVM)である「CheerpJ 3.0」の提供を開始したと発表した。

 CheerpJ 3.0は、Java 8との幅広い互換性を持ち、Javaアプリケーション、アプレット、ライブラリ、Java Web Start/JNLPアプリケーションを、プラグインなしでブラウザで実行するためのランタイム環境を提供する。

 JavaバイトコードをJavaScriptに変換するJIT(Just-In-Time)コンパイラと、OpenJDKに基づくJava SE 8(Java Platform, Standard Edition 8)ランタイムという2つのコンポーネントの組み合わせで、いずれもC++で書かれており、Cheerpを使ってWebAssemblyとJavaScriptにコンパイルされている。

 Cheerpは、オープンソースのC/C++ to WebAssemblyコンパイラであり、ほぼ全てのC/C++コードをWebAssemblyとJavaScriptにコンパイルする。JITコンパイラは、クラスファイルに含まれるバイトコードを動的にコンパイルし、最適化する。インライン化や動的な脱仮想化などの高度な最適化をサポートしている。

 CheerpJ 3.0は商用製品だが、個人プロジェクトや技術評価用途であれば無料で利用できる。現時点ではJava 8にのみ対応しており、Leaning Technologiesは2024年中に、Javaのより新しいLTS(長期サポート)バージョンのサポートを開始する計画だ。まずJava 11をサポートし、長期的には、Javaの最新LTSバージョンと同等の機能の提供を目指すとしている。

 現在、サポートされているJava LTSバージョンには、Java 8(Extended Support期限:2030年12月)、Java 11(同2032年1月)、Java 17(同2029年9月)、Java 21(同2031年9月)がある。

 Leaning Technologiesは、CheerpJ 3.0が、大規模JavaアプリケーションのWebへのデプロイ(展開)や、JavaライブラリのWebアプリケーションへの統合の新時代を開くと述べており、特徴として以下を挙げている。

CheerpJ 3.0の特徴

  • プラグインやJavaのインストールなしに、大規模Javaアプリケーションをモダンブラウザで実行できる。全てのブラウザで利用可能な安全で標準的なWeb技術に基づくHTML5ソリューション
  • サーバ側コンポーネントが不要。全てのコードがWebAssemblyとJavaScriptを介してクライアントで実行される
  • JARファイルをそのまま実行でき(ソースコードは不要)、コンパイルや前処理ステップは必要ない
  • AWT(Abstract Windowing Tools)とSwingベースのグラフィカルアプリケーションをサポートする。それぞれ複数のウィンドウを持つ複数のアプリケーションを同時に実行できる
  • リフレクションとクラスローダを完全にサポートする。プラグインや暗号化されたJARファイルをサポートするように設計されたカスタムクラスローダもサポートする
  • JavaScriptとの強力な相互運用性を備える。クリーンなasync/awaitインタフェースを用いてJavaライブラリをWebアプリケーションに統合するライブラリモードが用意されている。また、JavaからJavaScriptライブラリとDOMを呼び出したり、操作したりでき、JavaScriptからJavaモジュールを呼び出すこともできる

 Leaning Technologiesは、CheerpJの機能を試せるデモページを開設している他、Javaベースの有名なゲームアプリケーションである「Minecraft」をブラウザでプレイできるデモも公開している(「Browsercraft」プロジェクトと呼ばれている)。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る