Kotlin native equivalent of Retrofit
Asked Answered
N

5

19

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?

Neolithic answered 13/12, 2017 at 17:57 Comment(1)
No, there is isn't any such library, yet.Deca
C
13

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/ )

Crossquestion answered 24/10, 2018 at 14:26 Comment(2)
This does seem like the best solution currently. However, I would not say it is as simple and as few lines of code as Retrofit. Also there appears to be some difficulty with Serialization of certain types (root lists for example).Neolithic
Is this better than Retrofit?Pursuant
I
1

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.

Intermixture answered 21/2, 2018 at 8:30 Comment(2)
While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. - From ReviewSwingeing
@Abhishekkumar Which has happened now. Link is not working.Kiwi
H
1

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

Hydrotaxis answered 19/5, 2022 at 9:9 Comment(0)
S
0

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.

Shontashoo answered 27/6, 2020 at 18:37 Comment(0)
H
-2

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.

Hangover answered 20/6, 2019 at 6:22 Comment(1)
Fuel is not a Kotlin Multiplatform library, thus it doesn't support Kotlin NativeSkate

© 2022 - 2024 — McMap. All rights reserved.