android - Kotlin Android 与 Kotlin 多平台

标签 android kotlin kotlin-multiplatform

我是一名拥有多年 Java Android 开发经验的开发人员,最近开始使用 Kotlin 和 Compose 编写应用程序。我最喜欢它,并且我正在考虑向我团队的其他成员推荐 Kotlin Multiplatform,作为我们正在编写的一个小工具。

普通 Kotlin 与多平台的项目设置有何不同?假设我们希望应用程序适用于 Android 和桌面(按优先顺序),那么编写 Android Kotlin/Compose 应用程序并稍后迁移会更好,还是从头开始将项目作为多平台启动?

最佳答案

如果您有 Android 应用,并且决定添加桌面支持,那么您的大部分时间将花在迁移到 KMP 依赖项上。

所以你需要知道桌面支持哪些库 - 我认为主要是导航,因为Jetpack Navigation不支持KMP,所以你需要选择一个支持KMP的导航库。我会选择Decompose ,但您也可以在此 list 中寻找其他解决方案KMM 库。

我建议您从 KMP 项目开始,添加桌面目标,但不要测试/运行它。在公共(public)模块中编写您可以编写的所有内容,这将阻止您在那里使用仅限 android 的代码 - 您仍然可以在 androidMain 中使用它。在这种情况下,稍后添加桌面支持将是一项容易得多的任务。

关于android - Kotlin Android 与 Kotlin 多平台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77525954/

相关文章:

kotlin - 无法导入 Kotlin 多平台通用依赖项

android-studio - 如何在 Android Studio 中为 Kotlin Multiplatform 配置 iOS 应用程序?

android - 你如何在 fragment 转换时禁止用户点击?

java - 如何在 jna 中实现具有联合类型的结构体 sizeof()

gradle - 如何为 kotlin-multiplatform (kotlin 1.3.50) 添加对 build.gradle.kts 的依赖项?

Android Studio Kotlin 正则表达式与预期不同

android - 导航组件 - onSupportNavigateUp()

android - 在简历上重新加载 Assets

android关于从沙箱中读取的文件

android - 录制在 android 中安装/运行的任何应用程序的视频