GraalJS

Java 用のハイパフォーマンス組み込み JavaScript ランタイム

メリット

coffee beans icon

Java 用 JavaScript

Java で JavaScript モジュールとスクリプトを直接使用します
compatibility icon

ECMAScript 準拠

ECMAScript 2024 言語仕様 を完全に実装しています
performance icon

JVM で最速の JavaScript

Graal JIT が JavaScript をネイティブコード速度でコンパイルします
upgrade up arrow icon

JVM 用モダン JavaScript

Nashorn および Rhino アプリケーションの ECMAScript 2024 へのアップグレードパス
code icon

JavaScript で Java をスクリプト化します

JavaScript でアプリケーションを拡張し、Java クラスやフレームワークと対話させます
wasm integration icon

WebAssembly 統合

JavaScript WebAssembly API を介して WebAssembly モジュールを使用します

開始方法

1. Maven Central から GraalJS を依存関係として追加します


  <dependency>
    <groupId>org.graalvm.polyglot</groupId>
    <artifactId>polyglot</artifactId> 
    <version>24.1.1</version>
  </dependency>
  <dependency>
    <groupId>org.graalvm.polyglot</groupId>
    <artifactId>js</artifactId> 
    <version>24.1.1</version>
    <type>pom</type>
  </dependency>
                

または


  implementation("org.graalvm.polyglot:polyglot:24.1.1")
  implementation("org.graalvm.polyglot:js:24.1.1")
                

2. Java に JavaScript コードを埋め込みます


  import org.graalvm.polyglot.Context;

  try (Context context = Context.create()) {
      context.eval("js", "console.log('Hello from GraalJS!')");
  }
                

GraalJS クイックスタート

このスタータープロジェクトで始めてみましょう

使用例

Micronaut の React SSR: GraalJS でパフォーマンスを向上

Micronaut の React SSR は GraalJS を使用して JavaScript を高パフォーマンスで実行します

IntelliJ の HTTP クライアント用の GraalJS 対応実行エンジン

IntelliJ IDEA は、HTTP クライアントで使用される JavaScript 実行エンジンを GraalJS にアップグレードしました

JVM 上の高パフォーマンスサーバーサイドレンダリング

React.js やその他のクライアントフレームワーク用の高パフォーマンスサーバーサイドレンダリング

NetSuite が SuiteScript 拡張言語に GraalJS を活用

NetSuite は、最新 ECMAScript 標準のサポートと強化されたパフォーマンスにより、JavaScript ランタイムとして GraalJS を選びました
box

GraalJS ランタイム環境には多くの利点があり、SuiteScript 開発者は最新の ECMAScript 機能と構文をすぐに利用できます。SuiteScript を ECMAScript に沿わせることで、開発者の生産性が向上し、より保守性の高いコードが提供され、進化する標準への継続的な適合性が確保されます。

box
Ashwin Krishnamurthy
SuiteCloud プラットフォームシニアプロダクトマネージャー

お問い合わせ