在移动应用程序开发领域,对跨平台解决方案的需求正在迅速增长。开发人员正在寻求最大限度地提高代码重用率、提高生产力并跨多个平台交付高质量应用程序的方法。Kotlin Multiplatform Mobile (KMM) 作为一个强大的工具出现,它允许开发人员编写在 iOS 和 Android 平台上运行的共享代码,从而应对这些挑战。在本文中,我们将探讨如何开始使用 Kotlin Multiplatform Mobile 的基本步骤。
如果您不熟悉 Kotlin Multiplatform Mobile (KMM),我们建议您参考我们关于 Kotlin Multiplatform Mobile (KMM) 的文章。它提供了对 Kotlin Multiplatform Mobile (KMM) 及其优势的更多见解。
先决条件:
- Kotlin基础知识
- Android Studio基础知识
- 终端使用基础知识
Kotlin Multiplatform Mobile (KMM) 入门
一般来说,从 Kotlin 多平台开始是一项相对简单的工作,特别是如果您之前有基于 Kotlin 的 Android 开发经验。您会发现自己使用相同的 IDE、编程语言 (Kotlin) 和 Gradle 进行依赖项管理。此外,您将能够像在原生 Android 项目中一样使用 Kotlin 流程。
要开始使用 Kotlin Multiplatform Mobile,请按照以下步骤操作:
第 1 步:设置开发环境
确保您安装了以下工具:
- Android Studio (latest version)
- Xcode (latest version)
- JDK
- Kotlin Multiplatform Plugin
- Kotlin Plugin
对于 Java Development Kit (JDK) ,它通常与 Android Studio 一起自动安装。但是,要确认它的存在,您可以在 Android Studio 终端或命令行中执行以下命令:
java -version
运行此命令将为您提供有关系统上安装的 Java 版本的信息。通过验证 Java 版本,您可以确保您拥有 Android Studio 和 Kotlin Multiplatform Mobile 开发所需的 JDK。
对于 Kotlin Multiplatform Mobile Plugin ,您可以通过选择 设置/首选项 | 从 Android Studio 中安装它。Plugins,然后在 Marketplace 中搜索 Kotlin Multiplatform Mobile 并安装它。
对于 Kotlin Plugin,它已经与每个 Android Studio 版本捆绑在一起。
此外,需要注意的是,如果您的意图涉及编写 iOS 特定代码并在模拟器或物理设备上运行 iOS 应用程序,则必须拥有运行 MacOS 的 Mac,因为此功能是 Mac 平台独有的,无法在 Windows 等其他操作系统上完成。
第 2 步:创建您的第一个 Kotlin Multiplatform 项目
要创建 Kotlin Multiplatform Mobile 项目,您可以使用之前安装在 Android Studio 中的 KMM 插件。此插件使您能够利用 Kotlin 多平台移动应用程序模板来启动您的新项目。请按照以下步骤继续:
- 启动 Android Studio,确保安装并启用 KMM 插件。
- 选择启动新项目的选项(文件 | 新建 | 新项目) ,您将看到一个项目模板列表。
- 从可用选项中选择 Kotlin Multiplatform Mobile App 模板。
- 提供必要的项目详细信息,例如项目名称、包名称和项目位置。
- 选择您要定位的平台,例如 iOS 和 Android。
- 指定每个平台的配置设置,包括 SDK 版本和支持的最低版本。
- 选择要创建项目的目录,然后单击“完成”以启动项目创建过程。
按照这些步骤,您可以使用 Android Studio 中的 KMM 插件创建 Kotlin Multiplatform Mobile 项目。这将为您奠定必要的基础,以开始开发您的跨平台应用程序。
项目设置向导 (Android Studio)
第 3 步:检查项目结构
KMM 插件为您的 Kotlin Multiplatform Mobile (KMM) 项目生成一个基础模板。该模板具有独特的结构,在您继续编写代码时需要遵循该结构。
在 Android Studio 中,将视图从Android切换到Project,以便您可以看到项目的完整结构。以下是您的应用程序的主要组件:
- androidApp:
是一个构建到 Android 应用程序中的 Kotlin 模块。它使用 Gradle 作为构建系统。androidApp 模块依赖共享模块并将其用作常规 Android 库。 - iosApp:
是一个构建到 iOS 应用程序中的 Xcode 项目。它依赖并使用共享模块作为 iOS 框架。共享模块可以用作常规框架或CocoaPods 依赖项,具体取决于您在 iOS 框架分发的上一步中选择的内容。在本教程中,它是一个常规的框架依赖项。 - shared:
是一个 Kotlin 模块,包含 Android 和 iOS 应用程序通用的逻辑——您在平台之间共享的代码。它使用Gradle作为构建系统,帮助您自动化构建过程。共享模块构建到 Android 库和 iOS 框架中。
共享模块由三个源集组成:androidMain、commonMain和iosMain。 这些源代码集可用于在共享模块中编写特定于平台的代码。
有关如何在共享模块中编写特定于平台的代码的更多见解,我们鼓励您参考我们关于 Kotlin Multiplatform Mobile (KMM) 中预期和实际机制的文章。
<<链接到 KMM 中的预期和实际>>
KMM项目结构
注意:源集是一个 Gradle 概念,用于逻辑上组合在一起的许多文件,其中每个组都有自己的依赖项。
第 4 步:定义共享代码
在项目中的共享 Kotlin 模块中,定义将跨平台使用的共享代码。这可以包括数据模型、业务逻辑、网络请求和实用程序功能。
在大多数情况下,建议将您的 UI 组件放在特定于平台的代码中。这种方法允许您利用适用于每个平台的最新 UI 技术,例如适用于 iOS 的 SwiftUI 和适用于 Android 的 Jetpack Compose。通过这样做,您可以充分利用特定于平台的 UI 功能。
但是,还有一种替代方法,您可以在 Android 和 iOS 平台之间实现 UI 组件的 100% 代码共享。JetBrains 开发了 Compose Multiplatform,它使您能够跨两个平台共享相同的 UI 代码。这使您可以利用单个 UI 代码库,同时仍然受益于 Kotlin Multiplatform Mobile 的优势。
因此,根据您的项目要求和偏好,您可以为每个平台使用特定于平台的 UI 技术,或者选择使用 Compose Multiplatform 进行 100% 的代码共享。
第 5 步:实施特定于平台的代码
在特定于平台的模块中,您可以实现特定于平台的代码,包括 UI 组件、平台 API 和其他特定于平台的功能。确保特定于平台的代码与共享代码交互以实现所需的功能。
第 6 步:运行您的应用程序
要从 Android Studio 中同时运行您的应用程序的 Android 和 iOS 版本,请执行以下步骤:
- 在运行配置中选择所需的应用程序。
- 单击“运行”按钮开始执行。
重要的是要确保您有一个配置为运行您的应用程序的活动模拟器。但是,请注意,iOS 版本的应用程序只能在 Mac 上运行,因为 iOS 模拟器在其他操作系统上不可用。
第 7 步:测试和部署
KMM 提供用于跨平台测试共享代码的工具。您可以编写涵盖通用功能的共享测试,以及专注于特定于平台的行为的特定于平台的测试。一旦您的代码经过测试并准备就绪,您就可以构建您的应用程序并将其部署到 iOS 和 Android 平台。
有关如何在 KMM 项目中为特定平台和共享模块编写测试用例的更多见解,我们鼓励您参考我们关于在 Kotlin Multiplatform Mobile (KMM) 中进行测试的文章。
<<KMM 测试链接>>
Kotlin 多平台移动设备的最佳实践
- 保持共享代码与平台无关: 避免在共享模块中包含特定于平台的代码或依赖项。这确保了最大程度的代码重用,并使共享代码专注于业务逻辑和数据处理。
- 拥抱广泛的代码共享: 通过在可行的情况下最大化共享代码的数量,充分利用 KMM 的代码共享概念。通过这样做,您可以显着减少开发时间并确保跨多个平台的一致性。
- 为每个平台维护单独的 UI 组件: 通过为每个平台使用单独的 UI 组件来增强用户体验。这种方法可确保每个平台上的用户都拥有类似本机的体验,同时允许您利用适用于每个特定平台的最新 UI 技术。
- 必要时利用特定于平台的代码: 虽然目标是最大限度地重用代码,但在某些情况下需要特定于平台的功能。KMM 允许您利用特定于平台的代码和 API,同时仍然维护共享代码库。
- 遵循平台指南: 在实施特定于平台的代码时采用相应的平台指南和最佳实践。
结论
Kotlin Multiplatform Mobile (KMM) 为高效构建跨平台应用程序开辟了新的可能性。通过设置您的开发环境、创建 KMM 项目、利用共享代码和特定于平台的代码、严格测试并获得社区支持,您可以自信地踏上 KMM 之旅。拥抱代码重用的力量,使用 Kotlin Multiplatform Mobile 开发令人惊叹的跨平台应用程序。编码愉快!
关注公众号:Android老皮
解锁 《Android十大板块文档》 ,让学习更贴近未来实战。已形成PDF版
内容如下:
1.Android车载应用开发系统学习指南(附项目实战)
2.Android Framework学习指南,助力成为系统级开发高手
3.2023最新Android中高级面试题汇总+解析,告别零offer
4.企业级Android音视频开发学习路线+项目实战(附源码)
5.Android Jetpack从入门到精通,构建高质量UI界面
6.Flutter技术解析与实战,跨平台首要之选
7.Kotlin从入门到实战,全方面提升架构基础
8.高级Android插件化与组件化(含实战教程和源码)
9.Android 性能优化实战+360°全方面性能调优
10.Android零基础入门到精通,高手进阶之路
敲代码不易,关注一下吧。ღ( ´・ᴗ・` ) 🤔