GraalJS

用于 Java 的高性能可嵌入 JavaScript 运行时

优势

coffee beans icon

用于 Java 的 JavaScript

在 Java 中直接使用 JavaScript 模块和脚本
compatibility icon

ECMAScript 兼容

performance icon

JVM 上最快的 JavaScript

Graal JIT 将 JavaScript 编译为本地代码,以实现高速运行
upgrade up arrow icon

JVM 上的现代 JavaScript

为 Nashorn 和 Rhino 应用程序升级到 ECMAScript 2024 的路径
code icon

用 JavaScript 编写 Java 脚本

使用与 Java 类和框架交互的 JavaScript 扩展应用程序
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 利用 GraalJS 作为其 SuiteScript 扩展语言

NetSuite 选择 GraalJS 作为其 JavaScript 运行时,因为它支持最新的 ECMAScript 标准并提高了性能
box

GraalJS 运行时环境具有显着优势,这使得 SuiteScript 开发人员能够开箱即用地访问最新的 ECMAScript 功能和语法。将 SuiteScript 与 ECMAScript 对齐可以提高开发人员的工作效率,使代码更易于维护,并确保持续符合不断发展的标准。

box
Ashwin Krishnamurthy
SuiteCloud 平台高级产品经理

与我们联系