- GraalVM JavaScript は、高速で標準に準拠した JS エンジンであり、JVM 上で動作します。
- Java アプリケーションはそれを組み込み、ユーザーはホストプログラムに呼び出しを行う JavaScript を記述できます。
- スクリプトはホットリロードされるため、Java コードを再コンパイルせずに動作を変更できます。
- ホストは、スクリプトが触れることができるオブジェクトとクラスを正確に決定します.
GraalVM JavaScript は、JVM 上で動作する、高速かつ標準に準拠した JavaScript エンジンです。GraalVM プロジェクトの一部です。Java アプリケーションに組み込むことで、ユーザーはホストプログラムを呼び出し、実行時に再読み込みできる JavaScript を記述できます。Java アプリケーションにおいては、Java コードを再コンパイルすることなく、JavaScript での動作を追加したり変更したりすることを意味します.
どこ Opal 合う
GraalVM と GraalVM JavaScript
GraalVM は、JVM 上で複数の言語を実行できる高性能なランタイムです。その JavaScript エンジンは、最新の ECMAScript の機能をサポートするのに十分なほどモダンです。アプリケーションはエンジンを同梱し、スクリプトに操作するためのオブジェクトのセットを渡し、それらを実行します。
なぜアプリケーションに組み込むのか
- ホットリロード: スクリプトを変更すると、再起動や再ビルドなしにその効果を確認できます。
- 安全なインターフェース: ホストがスクリプトがアクセスできるオブジェクトと Java クラスを正確に決定します。
- Java 相互運用: スクリプトは、公開されているオブジェクトを通じて、アプリケーション自身のコードを呼び出すことができます。
クライアントでの表示方法
エンジンを組み込んだプログラムは、通常、スクリプトに自身を登録するためのエントリポイントを与え、次に JavaScript とプログラムの内部を接続する少数の「プロキシ」オブジェクトを提供します。ユーザーはスクリプトを作成し、スクリプトフォルダにドロップし、エンジンがそれをロードします。これにより、クライアントは、モッドをコンパイルする代わりに、JavaScript で機能を追加できるようにすることができます。
よくある質問
いいえ。どちらもJavaScriptを実行しますが、GraalVMのエンジンはJVMアプリケーションに組み込まれることを目的としているのに対し、Node.jsはV8を基盤としたスタンドアロンのランタイムです。
通常は必要ありません。ホストアプリが公開するオブジェクトに対してJavaScriptを書きます。それらのオブジェクトが何に対応しているかを知っておくと、より高度な利用に役立ちます。