3 ms·
My old team used Spring and Kotlin and it was a really productive combination. Spring isn't standing still. They have first class support for Kotlin and rewriti
by eweise 6y ago
My old team used Spring and Kotlin and it was a really productive combination. Spring isn't standing still. They have first class support for Kotlin and rewriting their framework to support the graalvm.
- BoorishBears 6y agoSpring is not standing still, and I'm not trying to claim it is, but there's still a fair bit of ceremony around a lot of features That's not necessarily a bad thing, but usually people who are giving the JVM a "second chance" via Kotlin were initially turned off by that ceremony - So when someone asks me "What should framework should I try for Kotlin web services?" my answer is usually Ktor. Because if they had to ask me, they probably aren't going to be that in love with Spring Boot (people coming from Java from example, are usually just going to default to Spring Boot)
- brabel 6y agoJava developers are spoiled for choice. There's everything, from the simplest possible https://sparkjava.com/ https://sparkjava.com/, to the a little bit nicer https://javalin.io/ https://javalin.io/ (which has a Kotlin wrapper), to the high performance and full framework https://vertx.io/ https://vertx.io/ (which always had great multi-lingual support within the JVM), to the newer and GraalVM-friendly https://micronaut.io/ https://micronaut.io/ and https://quarkus.io/ https://quarkus.io/ ... for the Enterprise-only crowd, you still have the JEE successor, https://jakarta.ee/ https://jakarta.ee/ and Oracle's own https://helidon.io/#/ https://helidon.io/#/ (which likes to position itself as microservice focused, like Micronaut and Quarkus). Not to mention lower level libraries you can use, like https://www.eclipse.org/jetty/ https://www.eclipse.org/jetty/ and https://netty.io/ https://netty.io/. Ktor has a tough fight to become dominant even in the Kotlin world. Spring Boot is, still, definitely the most popular option, but it's still just one of very very many!
- mkurz 6y agoYou forgot https://www.playframework.com/ https://www.playframework.com/
- ofrzeta 6y agovert.x has unfortunately reduced the support of JVM languages to Java, Kotlin and Groovy. No longer any Scala support, also no support of Javascript.
- pmlopes 6y agoJavaScript's support has been moved to the reactiverse project. It's an incubation like project for projects that aren't fully 1.0.0 yet. In there you will find https://reactiverse.io/es4x/ https://reactiverse.io/es4x/, the EcmaScript support For Vert.x. It's a new approach of using vert.x with GraalVM to provide modern ES language features such as ES12, instead of the old Nashorn ES5.1. It also changes the development workflow from a maven-based project to a NPM-based project which should be more familiar to JavaScript developers.
- pmlopes 6y agoScala support is still being finished, however the project team decide to go ahead releasing 4.0.0 at the beginning of the year avoiding the block until the Scala support work was complete. You can follow its development on GitHub or the official Discord server.
- ofrzeta 6y agoThanks for the info. While checking out vert.x 4.0 I had a hard time figuring out language support from the release notes and blog posts.
- listenallyall 6y agoOr http4k, which implements "server as a function" and is fantastic for an API backend, with lenses/contracts, auto-serialization on top of your choice of Kotlinx/Gson/Moshi/Jackson, nested routing, so much more.