Skip to content

Latest commit

 

History

History
112 lines (67 loc) · 5.84 KB

02_introduction.adoc

File metadata and controls

112 lines (67 loc) · 5.84 KB

About Helidon

Helidon is a collection of Java libraries for writing microservices that run on a fast web core powered by Netty. Its available in two frameworks: Helidon SE and Helidon MP.

A Collection of Java Libraries

Helidon provides an open source, lightweight, fast, reactive, cloud native framework for developing Java microservices. Helidon implements and supports MicroProfile, a baseline platform definition that leverages Java EE and Jakarta EE technologies for microservices and delivers application portability across multiple runtimes.

Using Cloud-native Tools with Helidon

Helidon libraries interoperate with popular tools from the cloud-native space, so there’s no need for any specific tooling or deployment model. Helidon can be used with:

Tip
The Helidon Quickstart Examples contain support for Docker and Kubernetes.

Understanding the Helidon Frameworks

Helidon supports two programming models for writing microservices: Helidon SE and Helidon MP.

SE is designed to be a microframework that supports the reactive programming model, while Helidon MP is an Eclipse MicroProfile runtime that allows the Jakarta EE community to run microservices in a portable way.

The table below shows to primary differences between Helidon SE and Helidon MP.

Helidon SE Helidon MP

Helidon SE gives you full transparency and puts you in control.

Helidon MP is built on top of the Helidon libraries and provides platform definition that is familiar to enterprise Java developers.

Microframework model with a very small footprint and limited functionality (~7 MB)

Eclipse MicroProfile implementation; slightly larger footprint than SE (~13 MB)

Functional style is reactive non-blocking

Declarative style with dependency injection

Transparent "no magic" development experience; pure java application development with no annotations and no dependency injections

Jakarta EE microprofile development experience; all Jakarta components (CDI, JAX-RS, JSON-P/B)

Learn more about Helidon SE.

Learn more about Helidon MP.

What’s New in Helidon 2.0

The Helidon 2.0 release contains significant new features, enhancements and fixes.

Tip
For a complete list of fixes and enhancements, see the Helidon 2.0 changelog.
  • GraalVM Native-image Support in Helidon MP
    Helidon SE already supports GraalVM, but in 2.0 GraalVM native image support will also be available in Helidon MP. GraalVM Native Images Guide

  • Helidon Command Line Tool
    One of the new features in Helidon 2.0 is the addition of a command line interface. The Helidon CLI enables developers to get started with Helidon with minimal effort: you can create a new application, build it, run it, and more, by writing some simple commands. Learn more about Helidon CLI.

  • DB Client for Helidon SE
    The new database client for Helidon SE will include support for the MongoDB reactive driver and brings Health Checks, Metrics, and Tracing support to every Helidon API. Learn more about the DB Client.

  • Extending MicroProfile Reactive Messaging and Reactive Operators Support
    MP Reactive Operators will be included in both frameworks, while MP Reactive Messaging will only be included in Helidon MP. Learn more about Reactive Messaging and Reactive Streams.

  • Helidon Web Client
    The new reactive web client can integrate with other Helidon SE APIs. Learn more about the Helidon Web Client.

  • Additional Websocket Support
    Based upon the Tyrus implementation, Helidon receives WebSocket API support. Learn more about Websocket Support.

  • Support for Java 11 APIs
    Helidon will require Java 11 or newer. Learn more about the prerequisites for Helidon 2.0.

  • CORS support for MP and SE
    Although it is possible for any Helidon application to implement its own support for CORS, there are common tasks (such as processing preflight requests) that can be provided in a Helidon module. Learn more about CORS support.

  • Backward Incompatible Changes
    View the changelog for information about potential breaking changes, including package name changes.