【问题标题】:Kotlin native equivalent of RetrofitKotlin 原生相当于 Retrofit
【发布时间】:2018-05-27 17:19:37
【问题描述】:

由于 Kotlin native 为我们提供了跨平台开发和原生可执行文件的承诺,是否有与 Java lib Retrofit for Kotlin Native 相当的功能? IOW 是否有一个纯 Kotlin 网络库,可以像 Retrofit 为 Java 所做的那样简单快速地创建 http 客户端代码?

【问题讨论】:

  • 不,还没有这样的库。

标签: kotlin retrofit kotlin-native


【解决方案1】:

我刚刚发布了一个示例项目,我在 iOS 和 Android 的 Kotlin 项目中使用了 ktor-client

https://github.com/thoutbeckers/kotlin-mpp-example

(注意:这个例子现在已经很过时了,但同时ktor已经有了很大的进步,并且还有一个多平台的例子:https://ktor.io/learn/)

【讨论】:

  • 这似乎是目前最好的解决方案。但是,我不会说它像 Retrofit 那样简单,代码行数很少。某些类型的序列化(例如根列表)似乎也存在一些困难。
  • 这比Retrofit好吗?
【解决方案2】:

目前包装一些 C 库,比如 CURL 是最好的选择。请参阅https://github.com/JetBrains/kotlinconf-spinner/tree/master/kurl 了解如何完成此操作。

在这个例子中,我们提供了直接匹配 CURL 的互操作性库,以及更多 Kotlin'ish 包装器,它以更易于使用的方式调用(有些混乱)CURL API。

【讨论】:

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
  • @Abhishekkumar 现在已经发生了。链接失效了。
【解决方案3】:

我为此目的制作了一个库,实际上我在一些项目中使用它。 https://github.com/eduayuso/konet.

另一方面,你有一个替代方案启发了我制作这个库,但它并不是你想要的:https://github.com/icerockdev/moko-network

【讨论】:

    【解决方案4】:

    有一个漂亮且易于使用的 http 网络库,名为“fuel”,它是用 Kotlin 编写的。 https://github.com/kittinunf/Fuel 它还支持 RxJava 和协程。

    【讨论】:

    • Fuel 不是 Kotlin 多平台库,因此不支持 Kotlin Native
    猜你喜欢
    • 2014-10-04
    • 1970-01-01
    • 2018-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    相关资源
    最近更新 更多