WatersWorks

Blog archive

Lightweight Javalin Framework Already Moving Past Milestone

The lightweight Web framework for Kotlin and Java known as Javalin reached a milestone with the release of version 2.0 last week -- and then promptly issued a point release (v2.1) this week, underscoring the growing popularity of this type of minimalist framework in general and the momentum of this project in particular.

The fledgling Javalin framework is simple, lightweight, and flexible. It supports WebSockets, HTTP2, and async requests, and goes a long way toward making life easier for a range of developers. It's primary claim to fame, of course, is its "first class" interoperability between Kotlin and Java.

"Javalin is more library than framework," the Javalin team wrote in a blog post, "you don't need to extend anything, there are no @Annotations, no reflection, no other magic; just code."

Version 1.0 of the Javalin framework was released in November 2017. It actually started life as a fork of the Spark Framework, another simple Java/Kotlin Web framework, but the project evolved quickly into a "ground-up rewrite" influenced by express.js, an unopinionated, minimalist Web framework for Node.js. The framework runs on Eclipse Jetty, one of the most used and stable Web servers on the JVM.

The operative word for all of these frameworks is "lightweight." They were inspired, their contributors say, by Sinatra, a modern micro Web framework written in Ruby and considered the grandfather of these offerings. And the focus is on getting things done quickly and with a small amount of code.

A lot has changed since the last release -- more than 180 files, according to the Javalin team. Those changes included approximately 5,000 additions, 5,500 deletions, "which is more or less the entire code base," they said.

The popularity of Kotlin among Java developers has been growing steadily since JetBrains created and then open-sourced the statically typed programming language in 2011. The language compiles to both JVM byte code and JavaScript. JetBrains, the Prague-based maker of the venerable code-centric Java IDE IntelliJ IDEA, has claimed that Kotlin is more stable at runtime than Java, because it can statically check weak points and supports things like variable type interface, closures, extension functions, and mix-ins. It's also less verbose than Java, which means devs can write less code with a more readable syntax. During a memorable keynote demo at the 2017 Google I/O conference, Google's Android team showed an example of how Kotlin could accomplish in one line of code the same thing that required 87 lines of Java code.

The Javalin project code files and details are available on GitHub. A complete list of the changes between the 1.0 and 2.0 release can be found here.

Posted by John K. Waters on August 28, 2018