【问题标题】:What can be shared through Kotlin Multiplatform between Android and iOS?什么可以通过 Kotlin Multiplatform 在 Android 和 iOS 之间共享?
【发布时间】:2020-04-04 10:44:31
【问题描述】:

有人能明确描述通过 Kotlin Multiplatform 在 Android 和 iOS 之间究竟可以共享哪些内容吗? 例如,我们在 Android 中有: UI (xml) 业务逻辑 (Kotlin)。 根据 JetBrains,UI (xml) 以下的所有内容都可以共享。这是否意味着也具有约束力? 我还听说100%可以共享。与 UI 相比如何?

感谢和问候

【问题讨论】:

    标签: android ios kotlin multiplatform


    【解决方案1】:

    Kotlin Multiplatform 背后的主要理念是分享底层内容。这意味着您可以基本共享业务逻辑,而您的 UI 保持原生状态(注意:在 Android 中,UI 不仅是 XML,而且还是带有其绑定的 Fragment/Activity)。例如,一种常见的方法是使用架构模式(如 MVVM/MVP),您公开您的演示者/视图模型并使用接口(在 Swift 中也称为协议)与本机 UI 交互。演示者、用例、存储库和 API 调用与 kotlin 共享,并且 UI 在每个平台中实现。

    对于需要使用特定平台代码实现的代码(如 Android 中的 SharedPreferences 和 iOS 中的 NSUserDefaults),请查看 Kotlin 文档中的 expect-actual 机制)

    此外,您还可以共享特定于平台的库的抽象。例如,您可以定义一个接口与任何平台库进行交互,在 iOS/Android 端提供实现,并从共享模块与其交互。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-16
      • 2021-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-01
      • 1970-01-01
      相关资源
      最近更新 更多