TLDR: This Katacoda Scenario has a live runtime environment with GraalVM 20.1 prepared for you including an easy to click-through step by step scenario that does a live demonstration of most aspects of GraalVM (modern Java runtime, Ahead of Time compilation to native executable, polyglot runtime platform and the platform for polyglot interoperability between many languages including Java, JavaScript, Python, Ruby, R and WebAssembly.
Starting a Java application as fast as any executable with a memory footprint rivaling the most lightweight runtime engines is quickly becoming a reality, through Graal VM and ahead of time compilation. This in turn is a major boost for using Java for microservice and serverless scenarios.
The second major pillar of GraalVM is its polyglot capability: it can run code in several languages – JVM and non-JVM such as JavaScript/ES, Python, Ruby, R or even your own DSL. More importantly: GraalVM enables code running in one language to interoperate with code in another language. GraalVM supports many and increasingly more forms of interoperability.
I have created a Katacoda Scenario – a live, browser based handson environment that is prepared for you for running GraalVM 20.1. The scenario comes with a step by step tutorial that allows you to explore the key features of GraalVM – simply by click on code snippets that are then executed. You will see the main capabilities and their practical applicability with hardly any effort. The scenario includes examples of ahead of time compilation and runtime interoperability of various non-JVM languages with Java.
The scenario uses the GraalVM Community Edition Docker Container Image for release 20.1. This screenshot is taken from the scenario, right after running the image and connecting into it. You can see the Java Runtime message in the screenshot – based on GraalVM and the node runtime message from the same GraalVM runtime.
The Katacoda environment includes an on line Visual Studio Code instance that makes it very easy to inspect and edit code.
The Katacoda scenario demonstrates these features:
- JIT for Java
- AOT for Java
- Polyglot Runtime for Node, JS, Python, R, Ruby, …
- Java interoperability to JavaScript, Python and more
- Interoperability from Node/JavaScript, Python and other languages to Java
- Multi directional polyglot interoperability
Note: the scenario environment is available for 60 minutes. You can restart the scenario as often as you like – starting from scratch with every restart.
The scenario features in the live demonstrations that I presented in the ACEs@home session that is shown in this YouTube recording:
Resources
YouTube recording of the ACEs@home presentation How and why GraalVM is quickly becoming relevant for you (June 2020) : https://youtu.be/UumJZGNeBiI
Slide deck for the presentation How and why GraalVM is quickly becoming relevant for you : https://www.slideshare.net/lucasjellema/how-and-why-graalvm-is-quickly-becoming-relevant-for-developers-aceshome-june-2020