Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Kotlin at Wisk - Server side

Kotlin is a solid server side development language
It has the huge advantage of working on the JVM thus having access to the Java libraries
Also the native Kotlin libraries are continuously growing.

Over time we have been very very happy developing in Kotlin without any issues.
We have:

  • native support for JSON serialization (in many flavours)
  • amazing concurrency support using coroutines/channels (see wisk-firestore-listener)
  • full end to end testing mechanism
  • access to all the Java libraries with no limitation
  • a very simple to understand and concide language syntax
  • built in support in IntelliJ

If we were to compare with Swift server side:

  • Swift is a great language but doesn’t have many 3rd party libraries available
  • Smaller pool of developers available (but it’s not really a disadvantage as many Swift developers are very eager to move on the backend)
  • For a long period the Swift concurrency model was lacking support for async/await
  • Smaller community, so we are on our own, for example we had to fork async-kit to fix a Postgresql pool connection release issue
  • In summary, swift is great as a pure business logic language, but quickly it shows its server side limits if it needs to connect to external services or use 3rd party libraries and this exactly where Kotlin comes into play amazingly at Wisk

How to start using Kotlin at Wisk

We have a seed repository in module-kotlin Please watch this loom to learn about the seed project structure
All the Kotlin repositories at Wisk have been started from the module-kotlin and should be kept all in sync.