The GraalVM task serves as an umbrella for a diverse set of interesting technologies, all built around the GraalVM compiler. The most well-known at this time is the GraalVM native-image tool. However, there is besides the GraalVM JIT compiler, a drop-in replacement for HotSpot's C2 compiler, and implementations of additional GraalVM languages specified as the Python (GraalPy) and JavaScript (GraalJS). These additional GraalVM languages can be utilized as standalone distributions or through a Java embedding API, allowing for the extension of Java applications with these languages. For instance, you can offer Python scripting capabilities to users of your Java application. Even if specified an application is compiled with native-image, it retains the ability to dynamically load, execute, and even JIT compile Python scripts. With its fresh release, the GraalVM task was restructured, decoupling the additional languages from its core. We now have the GraalVM JDK distribution, which is an OpenJDK build enhanced with native-image, and the additional languages are delivered as Maven dependencies, compatible not only with GraalVM JDK but besides with OpenJDK and OracleJDK, albeit with any caveats. In this session, we will research how to usage GraalVM languages as Maven dependencies and showcase their possible to enhance Java applications
GeeCON Prague 2023: Štěpán Šindelář - GraalVM Scripting Languages as Maven Dependencies
The GraalVM task serves as an umbrella for a diverse set of interesting technologies, all built around the GraalVM compiler. The most well-known at this time is the GraalVM native-image tool. However, there is besides the GraalVM JIT compiler, a drop-in replacement for HotSpot's C2 compiler, and implementations of additional GraalVM languages specified as the Python (GraalPy) and JavaScript (GraalJS). These additional GraalVM languages can be utilized as standalone distributions or through a Java embedding API, allowing for the extension of Java applications with these languages. For instance, you can offer Python scripting capabilities to users of your Java application. Even if specified an application is compiled with native-image, it retains the ability to dynamically load, execute, and even JIT compile Python scripts. With its fresh release, the GraalVM task was restructured, decoupling the additional languages from its core. We now have the GraalVM JDK distribution, which is an OpenJDK build enhanced with native-image, and the additional languages are delivered as Maven dependencies, compatible not only with GraalVM JDK but besides with OpenJDK and OracleJDK, albeit with any caveats. In this session, we will research how to usage GraalVM languages as Maven dependencies and showcase their possible to enhance Java applications