Mature web framework suggestion (with good Kotlin interop)

Thanks, these are definitely good points!

After reading the Spark homepage, I think I can agree with almost everything they say…

I’ve been exposed to Spring components lately, but not for web development. I forked the Apache Ftp (Mina based) project, and done a lot of work on it (that sooner or later I’ll contribute back somewhere).
They used Spring for configuring the various components, and it’s been the only pain point working on their codebase. I couldn’t do major refactoring on the config phase because that’d require a lot of work on the various config classes that deal with parsing the xml config file… I decided to configure my new components in code, and in the future rewrite the bootstrap code to get rid of Spring configuration classes!

But how something new like Spark compete with the completeness of the Spring ecosystem, or with other frameworks like Play?
When you need work done, and in a production-ready environment, you need a lot of components: Oauth/OpenId connect support, ACLs, remote logging, auditing, distributed transactions, real-time feeds, and the list goes on.

I agree with Spark folks, and I want a clear separation from pure API backends, and web applications that serve as management interfaces.

Regarding APIs, one thing that is often forgotten, is how much code you need to write for various client platforms (web, iOS, Android, Windows mobile, desktop apps).
I really hate Node.JS (for direct exposure), but something like http://loopback.io is not easy to find elsewhere…

So, for my next project, I want to try using Kotlin (and the JVM in general) for writing the web administration part only, and see how it works in a micro-containers world.

I use docker and other services extensively, and I’m a bit concerned by JVM’s memory requirements. With other technologies I can spin up several containers with relatively small memory pressure on the host.
How can this be accomplished with the JVM, if a simple app could require a gig to boot up (disclaimer: read this on posts about frameworks like Grails or Play)?

P.

1 Like