对于*没有*任何平台特定代码的 Kotlin Multiplatform (KMP) 项目,正确的项目结构是什么?
What is the right project structure for a Kotlin Multiplatform (KMP) project *without* any platform specific code?
设置一个完整的“KMP”/“KMM”项目似乎有点矫枉过正,因为只有 commonMain/commonTest 目录会被填充。
所有其他模板似乎都是特定于平台的。
是否有类似“纯”Kotlin 库模板的东西?
My-KMP-Library
│ build.gradle.kts
└───src
└───commonMain
└───kotlin
└───mynamespace
它的多平台功能是您在 build.gradle.kts
中指定的 targets。
它只是一个只有 commonMain
和 commonTest
的模块。您至少需要:
- 一个Gradle模块
- 该模块中具有多个目标的 Kotlin 配置
- 常用代码文件夹
是将应用代码放在同一个存储库中,还是将共享代码放在单独的存储库中,由您决定。不过,我不确定您可以将配置简化多少。
我认为您会 运行 遇到的一个问题是 iOS 上需要特定于平台的代码,因为并发接口与您可能想要的 Kotlin 友好接口(即 I.E. Android) 环境。对于默认参数之类的东西也是如此。
设置一个完整的“KMP”/“KMM”项目似乎有点矫枉过正,因为只有 commonMain/commonTest 目录会被填充。
所有其他模板似乎都是特定于平台的。
是否有类似“纯”Kotlin 库模板的东西?
My-KMP-Library
│ build.gradle.kts
└───src
└───commonMain
└───kotlin
└───mynamespace
它的多平台功能是您在 build.gradle.kts
中指定的 targets。
它只是一个只有 commonMain
和 commonTest
的模块。您至少需要:
- 一个Gradle模块
- 该模块中具有多个目标的 Kotlin 配置
- 常用代码文件夹
是将应用代码放在同一个存储库中,还是将共享代码放在单独的存储库中,由您决定。不过,我不确定您可以将配置简化多少。
我认为您会 运行 遇到的一个问题是 iOS 上需要特定于平台的代码,因为并发接口与您可能想要的 Kotlin 友好接口(即 I.E. Android) 环境。对于默认参数之类的东西也是如此。