The Helidon Project
Helidon is Greek (Χελιδόνι) for swallow: a light, fast, agile bird.
Helidon is a cloud-native, open‑source Java framework for writing microservices that run on a fast web core powered by Java virtual threads.
helidon.io/
Helidon MP
An Eclipse MicroProfile 6.1 runtime that allows the Jakarta EE community to run microservices in a portable way.
helidon.io/docs/v4/mp/introd…
Helidon SE
Helidon’s foundational set of APIs.
helidon.io/docs/v4/se/introd…
Helidon WebSever
Helidon WebServer provides an API for creating HTTP servers. It is the world's first web server written from scratch that is fully based on virtual threads. Also it can handle nearly unlimited concurrent requests.
helidon.io/docs/v4/se/webser…
Helidon CLI (Command Line Interface)
The Helidon CLI lets you easily create a Helidon project by picking from a set of archetypes. It also supports a developer loop that performs continuous compilation and application restart, so you can easily iterate over source code changes.
The CLI is distributed as a standalone executable (compiled using GraalVM) for ease of installation.
helidon.io/docs/v4/about/cli
GraalVM
An advanced JDK with ahead-of-time Native Image compilation
Oracle Labs have developed a new Java Virtual Machine called GraalVM which is written in Java and has a new compiler and some exciting new features like the ability to convert Java byte code into a native image that can be run without a Java VM.
graalvm.org/
The following frameworks are compatible w/ GraalVM Native Image.
Micronaut, Spring, Quarkus, & Helidon.
Polygot API
GraalVM allows a host application written in a JVM-based language to execute guest code written in Javascript via the Polyglot API.
graalvm.org/latest/reference… Configured w/ a sandbox policy, a security boundary between a host application & guest code can be established.
graalvm.org/latest/security-…
The GraalVM SDK polyglot API allows to embed Graal languages in Java applications.
graalvm.org/sdk/javadoc/org/…
Class Context
A polyglot context for Graal guest languages that allows to evaluate code. A polyglot context represents the global runtime state of all installed & permitted languages.
graalvm.org/sdk/javadoc/org/…
Java Scripting API
For reasons of backward compatibility, certain Polyglot languages also support the Java Scripting API. This allows the GraalVM Javascript runtime to be used as a drop-in replacement for Nashorn. However, to maintain compatibility, the Nashorn GraalVM JavaScript ScriptEngine interface will create a context with all privileges granted to the script.
docs.oracle.com/javase/9/scr…
Nashorn Engine
The Nashorn engine is the default ECMAScript (JavaScript) engine bundled with the Java SE Development Kit (JDK). The Nashorn engine was developed fully in Java by Oracle as part of an OpenJDK project, Project Nashorn.
openjdk.org/projects/nashorn…
JSR 223: Scripting for the JavaTM Platform
The specification will describe mechanisms allowing scripting language programs to access information developed in the Java Platform and allowing scripting language pages to be used in Java Server-side Applications.
jcp.org/en/jsr/detail?id=223
Status: Withdrawn in December 2016 following the Maintenance Review.
JSR 223 moved to JCP 2.10
jcp.org/en/procedures/jcp2_1…
GraalVM container images
To support container-based development, we provide container images for:
Oracle GraalVM
GraalVM Community Edition
Oracle GraalVM container images are published in the Oracle Container Registry
container-registry.oracle.co… under the GraalVM Free Terms and Conditions (GFTC) license.
oracle.com/downloads/license…
There are different GraalVM Community Edition container images provided depending on the architecture and the Java version.
These are: native-image-community, jdk-community, truffleruby-community, nodejs-community, and graalpy-community. The container images are multi-arch, for AMD64 and AArch64 processor architectures, and Linux version.
github.com/graalvm/container