回答

收藏

用 KMM(kotlin)创建Android和iOS跨平台应用 上

Kotlin Kotlin 19277 人阅读 | 0 人回复 | 2020-09-27

在移动开发中,应用程序的 Android 和 iOS 版本通常有很多共同点。应用程序背后的商业逻辑可能大致相同。下载文件,读写数据库,获取并发送数据到远程主机,解析远程数据等等。那么,为什么我们不能只编写一次业务逻辑,并在不同的平台之间共享它呢?基于这个想法,JetBrains 提出了 Kotlin 多平台项目。
1_ZrnQmDpg4q0qatr7wlgYAw.png



什么是 Kotlin 多平台移动?

Kotlin 多平台移动(KMM)是 JetBrains 提供的一个用于跨平台移动开发的 SDK。利用 Kotlin 的多平台能力,您可以为多个平台编译/传送单个项目。
1_WJu1I9PO_oyu1E6Zx-MOPA.png


使用 KMM,您可以获得这种灵活性,并保留本机编程的好处。对 iOS 和 Android 应用程序的业务逻辑使用单个代码库,只在必要时编写特定于平台的代码,以实现本地 UI 或使用特定于平台的 api。

KMM 可以与您的移动项目无缝集成。在 Kotlin 编写的共享代码被编译成带有 Kotlin/JVM 的 JVM 字节码和带有 Kotlin/Native 的本地二进制文件,因此您可以像使用其他常规移动库一样使用 KMM 业务逻辑模块。

在写这个博客的时候,KMM 处于 Alpha 状态,你可以立即开始在你的多功能应用程序中分享商业原理。对于移动开发领域来说,KMM 还是个新手,JetBrains 还为 Android Studio 开发了 KMM 插件,可以无缝设置 KMM 项目。插件允许您在 Android Studio 中编写、运行、测试和调试共享代码。
构建 HELLO WORLD KMM 应用程序的步骤

1. 在 Android Studio 中安装 Kotlin Multiplatform Mobile plugin,打开 Android Studio-> Click Configure-> Select Plugins

1_RGtXFBAyVbUHZoOQu4iTkw.png


2. 在插件部分选择市场,搜索“ KMM” ,安装并重新启动你的 Android Studio:
1_7nxYzpgr8XGpd1NzSBQXsg.png


在 Android Studio 的第一个屏幕选择“ Start a new Android Studio project”。
1_RYid-ExQyuX18hcdNqDElg.png


在「选择模板」选项中,向下滚动,然后选择「 KMM 应用程式」
1_zyiqQJz2NHf6C62CGvpdGQ.png


现在为你的项目设置一个名字,最小的 SDK,目录和包名。
1_A1VKXz6UT_69kE3ewJr32w.png


现在,您必须等待项目第一次设置完毕。下载和设置所需的组件可能需要一些时间。

**运行你的应用程序**

从工具栏中选择要运行的平台,选择 Emulator/Simulator 并单击 Run
1_sR-v-5moiSyVzc8eSj_wSQ.png


1_6loZqG6Q-mp8N6buoMQqrQ.png


1_4ZP9cnTzAtdGDdwciZvnlg.png


要运行 IOS 应用程序,你需要安装 Xcode 和 Simulater。
如果您想在另一个模拟设备上运行您的 ios 应用程序,您可以添加一个新的运行配置。
1. In the list of run configurations, click 在运行配置列表中,单击Edit Configurations 编辑配置
1_LiyJv2pohHuTNry1k6EZtg.png

2. 点击配置列表上面的 + 按钮,然后选择 iOS 应用程序。

1_Jeg4XLACOYYQcx8u9dChjA.png


3. 对配置一下信息,名字之类的。

4. 在 Execution target 列表中选择一个模拟设备,然后单击 OK。
1_2c8D7AgwZZzrbpdmHgLJQA.png


5. 单击 Run 在新的模拟设备上运行应用程序。
深入代码研究
1_7xj04EcQBIT4XWr1FpfqPw.png


这个目录像是安卓开发的目录,又像是iOS开发的目录,不过由于跨平台开发,目录奇葩一些很正常。

Something 模组
  • Shared module 共享模块 — a Kotlin module where your common business logic code resides for both Android and iOS applications. Builds into an Android library and an iOS framework. Uses Gradle as a build system. ー Kotlin 模块,安卓和 iOS 应用程序的通用业务逻辑代码都驻留在这个模块中。构建在一个 Android 库和一个 iOS 框架中。使用 Gradle 作为构建系统
  • androidApp module 模块 — a Kotlin module that builds into the Android application. Uses Gradle as a build system. ー一个嵌入 Android 应用程序的 Kotlin 模块,使用 Gradle 作为构建系统
  • iosApp module 模块 — an Xcode project that builds into the iOS application. ー一个嵌入 iOS 应用程序的 Xcode 项目。


项目: build.gradle.kts
  1. buildscript {
  2.     repositories {
  3.         gradlePluginPortal()
  4.         jcenter()
  5.         google()
  6.         mavenCentral()
  7.     }
  8.     dependencies {
  9.         classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.10")
  10.         classpath("com.android.tools.build:gradle:4.0.1")
  11.     }
  12. }
  13. group = "com.aman.helloworldkmm"
  14. version = "1.0-SNAPSHOT"

  15. repositories {
  16.     mavenCentral()
  17. }
复制代码

由于篇幅限制,请看下部分:[用 KMM(kotlin)创建Android和iOS跨平台应用 下](https://www.harm-os.com/thread-7-1-1.html "用 KMM(kotlin)创建Android和iOS跨平台应用 下")




分享到:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则