So, do you use Kotlin for your software development? Most probably you do.

Kotlin is concise, safe, pragmatic, and focused on interoperability with Java code.

It can be used almost everywhere Java is used today: for server-side development, Android apps, and much more.

Imagine if you could make Kotlin development faster, and see an instant boost in your workflow.

or even better:

What if there were 10 best kotlin web frameworks to choose from.

and each of them could make your development faster and easier?

You’d probably be pumped to read about them. 

Lucky for you, that’s exactly what I’m going to share with you in this post 10 awesome and best kotlin web frameworks

So let’s get started with the list:

1. Ktor

Ktor is a framework for quickly creating web applications in Kotlin with minimal effort.

Ktor Framework doesn’t impose a lot of constraints on what technology a project is going to use – logging, templating, messaging, persistent, serializing, dependency injection, etc.

Sometimes it may be required to implement a simple interface, but usually, it is a matter of writing a transforming or intercepting function. 

Framework for quickly creating connected applications in Kotlin with minimal effort
Forks: 481
Stars: 6183
Open issues: 448
Latest tag: tmp-1
git clone https://github.com/ktorio/ktor.git

2. Kweb

Kweb is a new way to create beautiful, efficient, and scalable websites in Kotlin, quickly.

Kweb is a self-contained Kotlin library that can be added easily to new or existing projects.

When Kweb receives an HTTP request it responds with a small HTML file including optimized instructions for building the page, and a client that connects back to the web server via a WebSocket.

The client then waits and listens for instructions from the server.

The core of Kweb, responsible for HTTP server and browser interaction
Forks: 26
Stars: 305
Open issues: 25
Latest tag: 0.5.11
git clone https://github.com/kwebio/kweb-core.git

3. Javalin

Javalin is a very lightweight web framework for Kotlin and Java which supports WebSockets, HTTP2 and async requests.

Javalin’s main goals are simplicity, a great developer experience, and first-class interoperability between Kotlin and Java.

A simple and modern Java and Kotlin web framework
Forks: 314
Stars: 3660
Open issues: 16
Latest tag: javalin-3.7.0
git clone https://github.com/tipsy/javalin.git

4. Spark

A micro-framework for creating web applications in Kotlin and Java 8 with minimal effort.

Spark Framework is a simple and expressive Java/Kotlin web framework DSL built for rapid development.

Sparks intention is to provide an alternative for Kotlin/Java developers that want to develop their web applications as expressive as possible and with minimal boilerplate

A simple expressive web framework for java. News: Spark now has a kotlin DSL https://github.com/perwendel/spark-kotlin
Forks: 1493
Stars: 8624
Open issues: 196
Latest tag: 2.9.1
git clone https://github.com/perwendel/spark.git

5. Spring Boot

Spring Boot makes it easy to create Spring-powered, production-grade applications and services with absolute minimum fuss.

it’s a very good framework and has official kotlin support

Spring Boot
Forks: 28485
Stars: 45014
Open issues: 455
Latest tag: v2.2.4.RELEASE
git clone https://github.com/spring-projects/spring-boot.git

6. Vaadin-On-Kotlin

Vaadin-on-Kotlin is a web-application framework that includes everything needed to create database-backed web applications. 

kotlin web frameworks

Vaadin-on-Kotlin does not enforce you to use Model-View-Controller (MVC), Dependency Injection (DI) nor Service-Oriented Architecture (SOA).

It by default does not use Spring nor JavaEE. Instead, Vaadin-on-Kotlin focuses on simplicity.

Writing full-stack statically-typed web apps on JVM at its simplest
Forks: 12
Stars: 117
Open issues: 4
Latest tag: 0.8.1
git clone https://github.com/mvysny/vaadin-on-kotlin.git

7. Jooby

Jooby is a modern, performant and easy to use web framework for Java and Kotlin, with Fast startup time and Hot-Reload for development using Maven or Gradle

Features

  • Java and Kotlin API
  • Script/lambda routes using fluent API
  • MVC routes using Jooby and JAX-RS annotations
  • Event Loop and blocking execution modes
  • Reactive responses (Completable Futures, RxJava, and Reactor types and Kotlin Coroutines)
  • Multi-server including Jetty, Netty, and Undertow
  • Simple extension/plugin mechanism with a variety of modules
The modular web framework for Java and Kotlin
Forks: 147
Stars: 1101
Open issues: 18
Latest tag: v2.6.0
git clone https://github.com/jooby-project/jooby.git

8. Vert.x for Kotlin

Vert.x is a tool-kit for building reactive applications in a different programming language, like Java and Kotlin. 

kotlin web frameworks

Vert.x is Fast with Small memory footprint – Comparable to Spark and have WebSockets support

Vert.x for Kotlin
Forks: 42
Stars: 170
Open issues: 46
Latest tag: 4.0.0-milestone4
git clone https://github.com/vert-x3/vertx-lang-kotlin.git

9. Tekniq

A framework designed around Kotlin providing a full-featured HTTP Framework, Restful HTTP Client, JDBC DSL, Loading Cache, Configurations, Validations, and more.

Tekniq kotlin

It’s a suite of tools that have no dependencies on other libraries providing capabilities such as loading cache, configurations, tracking tools, and more.

A framework designed around Kotlin providing a full-featured HTTP Framework, Restful HTTP Client, JDBC DSL, Loading Cache, Configurations, Validations, and more
Forks: 5
Stars: 25
Open issues: 0
Latest tag: 0.9.7
git clone https://github.com/sepatel/tekniq.git

10. HexaGon

A Microservices framework that takes care of HTTP, serialization, and storage.

kotlin web frameworks

Its purpose is to ease the building of services (Web applications, APIs or queue consumers) that run inside a cloud platform.

Hexagon is a microservices toolkit written in Kotlin. Its purpose is to ease the building of services (Web applications, APIs or queue consumers) that run inside a cloud platform.
Forks: 44
Stars: 234
Open issues: 36
Latest tag: vertx_mime
git clone https://github.com/hexagonkt/hexagon.git

Conclusion

As a Kotlin developer having and using the right kotlin web frameworks will help you in the quest for putting together an algorithm that will tap into the strengths and capabilities of the project of your choice.