前言
对于移动端开发来说,跨平台是一个始终跳不能避免的话题。
而在跨平台移动的技术选择上来说,最流行两个就是React Native与Flutter了。
这两种方式都有它们各自己的优点与缺点。对于跨平台移动开发究竟是该React Native还是Flutter对大众来说是个比较难的选择。
当然,我这篇文章不是来对比这两个技术的,而是来介绍另一个移动跨平台技术的选择 – KMM
什么是KMM
KMM的全称是:Kotlin Multiplatform Mobile,它是jetbrains公司的产品。是一个业务跨平台的移动端开发框架。
在KMM的官网上,它对自己的最简明的一句介绍是:
Share the logic of your iOS and Android apps while keeping the UX native
用中文来理解就是:
不同平台共享业务逻辑的同时又保持各自原生的UI实现
KMM 的优势
相比其他的跨平台方案,比如RN、Flutter,KMM自带如下优势:
1、无需内置多套引擎 (runtime),包体积增量更少 。
2、对于 Android 开发者无需多学习一套编程语言和编程思想,门槛更低 。
3、基于双端标准组件输出,审核被拒风险较小(iOS)。
4、更强的互操作性, 支持与本地编程语言的双向互操作,可以直接使用现有库,避免了众多基础组件的重复建设。
5、在保持原生开发的基础上,使业务模块重用。
怎么学习KMM
虽然说KMM框架对于Android开发者来说门槛很低,但是也架不住网上的博客文章零散,断片和不全面呀。
所以这里小编花费大量时间收集和整理,将KMM框架方面的知识点整理成了《KMM跨平台框架入门教程》,并借此文章无偿分享给对KMM框架感兴趣的朋友。有需要的朋友可以扫描下方二维码领取~
第一章 简介与基本环境搭建
- 什么是KMM?
- Kotlin Mutiplatform 之间的关系
- 与其他跨平台框架的简单对比
- 跑一个 KMM Demo
- KMM 工程文件结构
第二章 在现有工程中集成 KMM
- 为什么要在现有工程中集成?
- 如何在现有工程中集成 KMM
第三章 平台差异化实现
第四章 与依赖库交互
- KMM 的依赖类型
- 使用 Common 或 Android 依赖
- iOS 依赖
第五章 处理多线程
- 为什么需要在 KMM 中处理多线程?
- 可行的多线程切换方式
- KMM 多线程需要注意的问题
- 个人比较推荐的异步工作实现方案
第六章 使用 SQLDelight 操作数据库
- 数据库在 App 中的作用
- SQLDeilight 简介及特点
- 使用 SQLDelight 开发的流程
- 其他使用建议及注意事项
第七章 处理 HTTP 网络请求
- 背景
- Ktor 是什么?
- 为 KMM 模块配置 Ktor
- 创建 Ktor 的 HttpClient
- 发送一个简单的 HTTP 请求
- 自定义请求
- 处理响应
- Ktor 的其他功能
- KMM 网络能力建设
第八章 KMM跨平台实战
- 跨端的 MVI 框架 —— MVIKotlin
- 对 Jetpack 架构组件移植的失败尝试
- 使用 kotlinx.serialization 对 SQLite 数据库反序列化
- 携程机票 App KMM 跨端 KV 存储库 MMKV-Kotlin
最后
相信这份KMM框架学习资料,一定可以为大家在KMM的学习上提供强有力的帮助和支撑,快人一步成为真正的高级Android跨平台开发者。