zurück zum Artikel

Javalin 6 im Überblick: Modernes Web-Framework für Java und Kotlin

Madeleine Domogalla

(Bild: Shutterstock)

Das Update des Java- und Kotlin-Web-Frameworks bringt ein flexibles Routing-System sowie umfassende Konfigurationsoptionen für Webanwendungen.

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.

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 [1] 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.

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 [2] 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 [3]. Interessierte können zudem über das GitHub-Repository [4] oder einen Discord-Channel [5] am Projekt teilhaben. Das Entwicklerteam empfiehlt, für Neuigkeiten und Updates dem Team auf X (vormals Twitter) [6] zu folgen.

(mdo [7])


URL dieses Artikels:
https://www.heise.de/-9627682

Links in diesem Artikel:
[1] https://javalin.io/news/javalin-6.0.0-stable.html
[2] https://javalin.io/migration-guide-javalin-5-to-6
[3] https://javalin.io/news/javalin-6.0.0-stable.html
[4] https://github.com/javalin/javalin
[5] https://discord.com/invite/sgak4e5NKv
[6] https://twitter.com/javalin_io
[7] mailto:mdo@ix.de