英Leaning Technologiesは、JavaのバイトコードをWebAssemblyやJavaScriptで実行できるようにするコンパイラ「CheerpJ 2.1」を、4月6日(現地時間)にリリースした。
CheerpJは、Javaバイトコードを事前にコンパイルすることで、WebAssemblyやJavaScriptでの実行を可能にするソリューション。完全なJavaランタイム環境、Java-JavaScript双方向の相互運用性を備えており、仮想ファイルシステム、入出力、ネットワーキング、オーディオといった、Webブラウザベースの機能を提供する。
今回リリースした「CheerpJ 2.1」では、いくつかの最適化とバグ修正を行ったメンテナンスリリースで、JavaScriptの相互運用性をさらに高めている。
Java例外処理を最適化したことで、より効率的なJavaScriptコードへのコンパイルを実現したほか、ネイティブのJavaリフレクションコールも大幅な最適化によって、標準のJavaによる呼び出しと比較してオーバーヘッドが少なくなった。また、事前のコンパイルによって出力されるJavaScript用バイトコードのファイルサイズ削減にも引き続き取り組んでいる。
さらに、cheerpjfy.pyにおける--stub-nativesオプションの改善によって、ネイティブメソッドのためのJavaScriptスタブの生成が可能になっており、JavaScriptおよびWebAssemblyを用いたブラウザベースでの独自のネイティブメソッドを実装できるようになった。
そのほか、事前コンパイラの堅牢性や、JavaとJavaScript間の相互運用性に関するいくつかの改善が行われている。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です