Introducing Helidon
Helidon is a framework for developing Java applications using a microservices architecture. It simplifies and streamlines the development, deployment, and management of cloud-native applications.
Helidon applications are standalone Java applications running in their own JVM and powered by the Helidon WebServer. Helidon is compatible with Java SE and many Jakarta EE specifications. It includes a full observability stack with dedicated components for health checks, metrics, tracing, and logging. It also integrates well with several other popular tools and technologies so you can feel confident that you won’t lose any functionality moving to the Helidon framework.
Helidon is available in two flavors, Helidon SE and Helidon MP. Both flavors deliver great results for generating cloud-native Java applications built on microservices, but they offer distinct developer experiences.
Helidon SE is Helidon’s foundational set of APIs; it offers a lightweight and flexible approach to developing Java applications within a framework. Generally, you should use Helidon SE if you want the greatest possible control over the development and functionality of your application, while still benefiting from the Helidon framework.
Helidon MP builds on the APIs in Helidon SE by adding support for Eclipse MicroProfile, a project whose goal is to standardize Enterprise Java APIs for microservices development.
No matter which flavor of Helidon you choose, you will have Helidon WebServer at the core of your application. In Helidon 4, the WebServer was re-written from the ground up to be based on virtual threads giving you a server with very high throughput and a thread-per-request architecture that simplifies development.
Use Helidon SE if | Use Helidon MP if |
Learn more at Helidon SE |
Learn more at Helidon MP |
Compare the following code examples to see the differences in how you would implement a simple RESTful service using either Helidon SE or Helidon MP.
Helidon SE sample
WebServer.builder()
.addRouting(HttpRouting.builder()
.get("/greet", (req, res)
-> res.send("Hello World!")))
.build()
.start();Helidon MP sample
@Path("hello")
public class HelloWorld {
@GET
public String hello() {
return "Hello World";
}
}Next Steps
- Read Get Started and learn how to set up your environment.
- Try out Helidon with the Quick Start tutorials:
- If you’re using an earlier version of Helidon, read the Helidon Upgrade Guides for guidance on how to move to the latest version:
Helidon is an open source framework (developed by Oracle) licensed under Apache License 2.0. You can follow its development at the Helidon GitHub repository.