With Kotlin native giving us the promise of cross platform development and native executables, is there an equivalent of the Java lib Retrofit for Kotlin Native? IOW is there a pure Kotlin networking library that makes creating http client code simple, and quick as Retrofit does for Java?
I've just published an example project where I use ktor-client in a Kotlin project with both iOS and Android.
https://github.com/thoutbeckers/kotlin-mpp-example
( note: this example is now very out of date, but in the meanwhile ktor has progressed tremendously, and also have a multiplatform sample: https://ktor.io/learn/ )
At the moment wrapping some C library, like CURL is the best option. See https://github.com/JetBrains/kotlinconf-spinner/tree/master/kurl for example of how it could be done.
In this example we provide interoperability library matching CURL directly, and more Kotlin'ish wrapper, which calls (somewhat confusing) CURL APIs in more easy to use manner.
Ktorfit looks like what you are looking for (a very young - but IMHO promising - project):
Ktorfit is a HTTP client/Kotlin Symbol Processor for Kotlin Multiplatform (Js, Jvm, Android, iOS, Linux) using KSP and Ktor clients inspired by Retrofit
I've made a library just for this purpose, actually I'm using it in some projects. https://github.com/eduayuso/konet.
On the other hand you have an alternative which inspired me to make this library, but it not exactly what you want: https://github.com/icerockdev/moko-network.
There is a nice and easy to use http networking library called "fuel" which is written in Kotlin. https://github.com/kittinunf/Fuel It also supports RxJava and coroutines.
© 2022 - 2024 — McMap. All rights reserved.