用 KMM(kotlin)创建Android和iOS跨平台应用 上
Kotlin
25731 人阅读
|
0 人回复
|
2020-09-27
|
在移动开发中,应用程序的 Android 和 iOS 版本通常有很多共同点。应用程序背后的商业逻辑可能大致相同。下载文件,读写数据库,获取并发送数据到远程主机,解析远程数据等等。那么,为什么我们不能只编写一次业务逻辑,并在不同的平台之间共享它呢?基于这个想法,JetBrains 提出了 Kotlin 多平台项目。
什么是 Kotlin 多平台移动?
Kotlin 多平台移动(KMM)是 JetBrains 提供的一个用于跨平台移动开发的 SDK。利用 Kotlin 的多平台能力,您可以为多个平台编译/传送单个项目。
使用 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
2. 在插件部分选择市场,搜索“ KMM” ,安装并重新启动你的 Android Studio:
在 Android Studio 的第一个屏幕选择“ Start a new Android Studio project”。
在「选择模板」选项中,向下滚动,然后选择「 KMM 应用程式」
现在为你的项目设置一个名字,最小的 SDK,目录和包名。
现在,您必须等待项目第一次设置完毕。下载和设置所需的组件可能需要一些时间。
**运行你的应用程序**
从工具栏中选择要运行的平台,选择 Emulator/Simulator 并单击 Run
要运行 IOS 应用程序,你需要安装 Xcode 和 Simulater。
如果您想在另一个模拟设备上运行您的 ios 应用程序,您可以添加一个新的运行配置。
1. In the list of run configurations, click 在运行配置列表中,单击Edit Configurations 编辑配置
2. 点击配置列表上面的 + 按钮,然后选择 iOS 应用程序。
3. 对配置一下信息,名字之类的。
4. 在 Execution target 列表中选择一个模拟设备,然后单击 OK。
5. 单击 Run 在新的模拟设备上运行应用程序。
深入代码研究
这个目录像是安卓开发的目录,又像是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
- buildscript {
- repositories {
- gradlePluginPortal()
- jcenter()
- google()
- mavenCentral()
- }
- dependencies {
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.10")
- classpath("com.android.tools.build:gradle:4.0.1")
- }
- }
- group = "com.aman.helloworldkmm"
- version = "1.0-SNAPSHOT"
- repositories {
- mavenCentral()
- }
复制代码
由于篇幅限制,请看下部分:[用 KMM(kotlin)创建Android和iOS跨平台应用 下](https://www.harm-os.com/thread-7-1-1.html "用 KMM(kotlin)创建Android和iOS跨平台应用 下")
|
|
|
|
|
|