Hey everyone, which server framework will you reco...
# getting-started
v
Hey everyone, which server framework will you recommend based on your experience? Looking for minimal run-time dependencies, or even run without a server container like Jetty.
c
I'm using #vertx with kotlin, powerful, fast, and with small footprint
Quarkus is also a good choice
r
#micronaut might be a good fit too
t
I built my own, so I can safely say Kotlin is powerful enough to not need one - but that said they’re honestly all really well built and work great even if you don’t use the experimental Kotlin support many have
I wouldn’t recommend the DIY approach only because of the deploy part being a bit of a chore.
v
@thymecypher You built the server so that you managed the whole HTTP connection stuff yourself? Also HTTPS?
t
Yeah - my goal was eventually to not depend on the JVM for HTTPS but it currently does unfortunately.
Everything else should in theory compile in K/N
v
Exactly what I am looking for. No run-time dependencies on any VMs or server containers. @thymecypher what about the deployment experience?
t
Unless you go K/N - which is still fairly unstable - you’ll have to depend on a JVM to use Kotlin. It’s deployed using a bash script that relaunches it should it crash (surprisingly, it never does) by just running
java -jar server.jar
and I have to ssh in and manually update the certs because LetsEncrypt doesn’t support creating Java keystores automatically.
Another reason I want to eventually remove the Java HTTPS component - you have to either use a Java keystore or build one in memory which is horrible.
Actually it LOOKS like vertx supports K/N Nevermind, it supports Knative, which is something else, hah.
Google says pretty much all server frameworks support GraalVM though, which could work if you want to make a binary executable without a VM dependency.
v
I am looking into the details of GraalVM now. Need to check about HTTPS.
a
@Vishnu Haridas I love using ktor since it is fully driven by coroutines so easy to manage non blocking codes, and dsl based structure of making routes is also very very easy to work with, it worths, if doesn't meet your requirements see https://github.com/KotlinBy/awesome-kotlin
Checkout Framework/Libraries -> web in your case
v
@Animesh Sahu Ktor and Vert.x are being recommended mostly. Anyways I am still curious to know if there are any frameworks that are standalone or doesn't require JVM to run. Looks like K/N is not that successful yet in the server space.