Ktor supports Kotlin/Native and allows you to run a server without an additional runtime or virtual machine. Currently, running a Ktor server under Kotlin/Native has the following limitations:
a server should be created using
only the CIO engine is supported
HTTPS without a reverse proxy is not supported
Windows target is not supported
Ktor server in a Kotlin/Native project requires at least two dependencies: a
ktor-server-core dependency and an engine dependency (CIO). The code snippet below shows how to add dependencies to the
nativeMain source set in the
To test a Native server, add the
ktor-server-test-host artifact to the
nativeTest source set:
Configure native targets
Specify the required native targets and declare a native binary using the
You can find the full example here: embedded-server-native.
Create a server
After configuring your Gradle build script, you can create a Ktor server as described here: Creating a server.