Javalin 6 im Überblick: Modernes Web-Framework für Java und Kotlin
Das Update des Java- und Kotlin-Web-Frameworks bringt ein flexibles Routing-System sowie umfassende Konfigurationsoptionen für Webanwendungen.
![](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/4/5/4/1/9/6/3/shutterstock_232738432_Blaue_Update_Taste_-9c1ec82f86b1f497.jpeg)
(Bild: Shutterstock)
Mit Javalin 6 ist eine neue Version des Java- und Kotlin-Web-Frameworks erschienen, die sich laut Ankündigungsbeitrag auf Einfachheit und die Interoperabilität zwischen den beiden Programmiersprachen Java und Kotlin konzentriert. Die neue Major Version baut auf dem Jetty-Webserver auf und bietet eine dünnere Schicht für Webanwendungen. Das Hauptziel des Updates ist gemäß Blogbeitrag, leichtgewichtig zu sein und die Entwicklerproduktivität zu fördern.
Javalin 6: Flexibles Routing und Integration für WebSockets
Die aktualisierte Version enthält ein flexibles Routing-System, um Routen direkt auf der Javalin-Instanz (via app
) oder über das Konfigurationsobjekt config.router
zu definieren. Bei kleinen Anwendungen reicht die Verwendung der Instanz aus, während für größere Anwendungen die Nutzung des config.router
empfohlen wird, wie das folgende Java-Codebeispiel aus dem Ankündigungsbeitrag zeigt:
// app object
var app = Javalin.create(/*config*/)
.get("/", ctx -> ctx.result("Hello World"))
.start(7070);
// config.router object
var app = Javalin.create(config -> {
config.router.mount(router -> { // access to router instance
router.get("/", ctx -> ctx.result("Hello World"));
});
config.router.apiBuilder(() -> { // sets a static variable scoped to the lambda
path("users", () -> { // statically imported to improve readability
get(UserController::getAll);
post(UserController::create);
path(":user-id", () -> {
get(UserController::getOne);
patch(UserController::update);
delete(UserController::delete);
});
});
});
}).start(7070);
Darüber hinaus bietet das Framework erweiterte Konfigurationsoptionen für den Webserver Jetty sowie Integrationen für WebSockets, Server-Sent Events, OpenAPI und SSL.
Vergleich der Versionen 5 und 6
Zu den wichtigsten Änderungen seit Javalin 5 gehören die Neugestaltung des Plugin-Systems, die Überarbeitung der Jetty-Konfiguration und die Option zur Verwendung von Virtual Threads. Entwickler werden ermutigt, den Migration Guide zu befolgen, um auf Javalin 6 zu aktualisieren.
Darüber hinaus wurde der AccessManager entfernt, was bedeutet, dass Entwickler alternative Methoden zur Steuerung des Zugriffs auf Endpunkte verwenden müssen. Virtual Threads sind jetzt optional, was bedeutet, dass Entwicklerinnen und Entwickler sie aktivieren müssen, wenn sie zum Einsatz kommen sollen.
Weitere Informationen zu Javalin 6 bietet der Beitrag auf Javalin.io. Interessierte können zudem über das GitHub-Repository oder einen Discord-Channel am Projekt teilhaben. Das Entwicklerteam empfiehlt, für Neuigkeiten und Updates dem Team auf X (vormals Twitter) zu folgen.
(mdo)