移动应用的开发维护需要兼顾Android与Ios两个系统,通常的做法是两拨人对各自平台分别开发维护,这就造成了人员的浪费,同时又有双端的体验不一致的现象,也增加了后续的维护成本,在这样的背景下许多跨平台方案应运而生,Flutter、RN相信大家已经很熟悉了,KMM又是什么东西呢,它有哪些特点呢?
前言
KMM 全称:Kotlin Multiplatform Mobile,是基于 Kotlin 语言进行多平台开发的一套技术框架,它和
Kotlin Native(简称 KN)有一定联系,但 KMM 主要面相移动端开发,即:Android、iOS、Web,而
KN 则主要面相 Linux、macOS、Windows 等
这里引用 Kotlin 官网的一张图来说明 Kotlin 多平台的工作原理
KMM 宗旨是使用 Kotlin 语言和技术栈,开发一套可以在多平台之间共享的代码库,用来构建统一的代码逻辑,而不用针对各个平台都去实现自己的一套,从而导致人力的浪费。
这些好处让我们开发者更加轻松地开发出出色的 Android 应用,最终推动 Android 的快速发展。
而KMM(Kotlin Multiplatform Mobile)最近推出了Beta版本,Jetpack也官宣了将对KMM进行支持。它在开发上相对Flutter,对 App 的体积影响相对较小,同时很多与平台无关的工具类、算法、数据模型可以直接利用KMM 实现跨平台,与 Flutter 相比,至少 Android 开发者的门槛要求较低。
KMM 从入门到精通
接下来,我将会给大家介绍一份2023年最新整理出来的《KMM跨平台框架入门教程》,手把手教大家KMM从入门到精通。
这份资料旨在给希望了解、学习、应用Android 跨平台框架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
最后
希望这份资料可以给希望了解、学习、应用Android 跨平台框架KMM的小伙伴一个参考。