当前位置:   article > 正文

移动端跨平台方案Kotlin Multiplatform

kotlin multiplatform

一.移动端跨平台方案

1.1开发背景

  • 基础模块逻辑相对复杂,多端研发成本高
  • 双端逻辑代码膨胀,无法保证完全一致,问题排查难
  • 逻辑代码穿插在各个模块中,现有跨端复用方案迁移成本高

1.2跨平台方案

1.3 选择KMM

场景:

  • UI很不重要或者UI很重要,交互复杂对性能要求很高,原生UI是第一选择
  • 有很多可收拢的逻辑层面代码
  • 已有代码,重点考虑迁移成本
  • 考虑学习成本和更轻量化的方案
  • 注重性能
  • 注重原生能力的融合,不要桥接

KMM可以做

  • Android 的开发语言koltin语言开发来开发Android/iOS的共享库
  • 更贴合 Android & iOS 平台。Android 平台产物 aar,iOS 平台使用 Kotlin Native 编译,产物 framework
  • 与平台无关的 common 逻辑可以跨更多的平台,如 Mac、Linux、Windows、Web 等

二.KMM介绍

2.1什么是KMM

_KMM(Kotlin Multiplatform Mobile)_是一个用于跨平台移动开发的 SDK。借助 KMM,您可以开发多平台移动应用程序,并在 Android 和 iOS 之间共享部分应用程序,例如核心层、业务逻辑、表示逻辑等。

KMM 使用Kotlin的多平台功能和专为移动开发设计的功能,使用 Android Studio的Kotlin Multiplatform Mobile (KMM) 插件可帮助您开发适用于 Android 和 iOS 的应用程序。

2.2什么是KMM插件?

适用于 Android Studio的Kotlin Multiplatform Mobile (KMM) 插件可帮助您开发适用于 Android 和 iOS 的应用程序。

使用KMM插件,你可以。

  • 直接从Android Studio在iOS目标上运行、测试和调试你应用程序的iOS部分。

  • 快速创建一个新的多平台项目。

  • 将一个多平台模块添加到现有项目中。

KMM插件只在MacOS上工作。这是因为按照苹果的要求,iOS模拟器只能在macOS上运行,而不能在其他任何操作系统上运行,如微软的Windows或Linux。

2.3什么是Kotlin/Native,它与KMM有什么关系?

Kotlin/Native是一种将 Kotlin 代码编译为原生二进制文件的技术,它可以在没有虚拟机的情况下运行。它由基于LLVM的 Kotlin 编译器后端和 Kotlin 标准库的本机实现组成。

Kotlin/Native主要是为了允许在不希望或不可能使用虚拟机的平台上进行编译,如嵌入式设备和iOS。它特别适用于开发者需要制作一个不需要额外的运行时或虚拟机的独立程序的情况。而这正是iOS开发中的情况。

用Kotlin编写的共享代码,用Kotlin/JVM为Android编译成JVM字节码,用Kotlin/Native为iOS编译成本地二进制文件。这使得在这两个平台上与KMM的集成是无缝的。

三.KMM搭建

3.1代码工程结构

使用KMM插件默认创建目录结构

  • AndroidApp 应用代码
  • iosAPP 应用代码
  • Android&ios的共享公共代码
  • Android平台差异代码
  • ios平台差异代码

3.2ios运行

  • ios运行除了可以用xcode运行外,也可以直接通过Android studio 插件直接运行
  • 通过Android studio 插件运行,必须是苹果系统

3.2iosApp编译kotlin共享库

cd “$SRCROOT/…” ./gradlew :shared:embedAndSignAppleFrameworkForXcode注意顺序,要将Run Script脚本放到 Complie Souces前面

3.3iosApp依赖共享库生成的Framework

Build Settings选项卡上,切换到All build settings 并在Search Paths下指定Framework Search Path<

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/959113
推荐阅读
相关标签
  

闽ICP备14008679号