Kotlin 多平台模块库

问题描述

我一直在开发一些我们希望同时为 Android 和 iOS 提供的库,到目前为止,我们分别为 Android 和 iOS 工作。现在考虑到这么多人开始在他们的应用程序中使用 KMM,我只想知道是否有人尝试发布使用 Kotlin 创建的适用于 Android 和 iOS 的库,以及他们的经验以及在开发和集成过程中面临的挑战用户提供的那个库。

如果我使用 Kotlin 1.3.X 版本构建我的库并且用户使用 1.2.X 或 1.4.X 会产生任何影响吗?

解决方法

就 Kotlin 版本而言,Android 端将像任何其他 Android 库一样工作。我不确定 Kotlin 1.3 库在 JVM 上的 Kotlin 1.4 或 1.2 中的工作情况如何,但我认为此时“相当好”。我认为使用 1.3 库的 1.4 完全可以正常工作。

对于 iOS,你构建和发布的框架是它的“自己的世界”,所以调用它的 iOS 并不知道或关心它是 Kotlin,或者它是用什么版本的 Kotlin 构建的。

但是,如果您发布其他开发人员在本机中使用的 klib,则需要以不同的方式与版本保持一致,但听起来您并不打算这样做。

强烈建议将 1.4.20 定位为原生的最低版本。不是出于任何特定原因,除了本机正在大量开发之外,每个版本都添加了重要的修复和/或改进。从 KMM 的角度来看,1.3.x 已经很老了。如果您只针对 Xcode 框架,我会使用最新的稳定版 Kotlin 构建 iOS,截至今天 1.4.32。