现在开发需要兼容Android 和 iOS 手机的大型App,优选什么框架?

前言

现在最主流的跨平台方案应该也就是Flutter了,再就是RN,不过RN已经在慢慢退出历史舞台。

中小企业目前最优先选择的还是Flutter,Flutter现在的生态也逐渐很完善。不过大型App,我还是推荐混编,一些不重要的模块使用Flutter,重要的模块还是使用原生的好。

除了Fluttet的方案,还有一种方案可以选择,那就是KMM,Kotlin跨平台方案。

在共用代码部分,Android平台会直接构建成aar,与普通Android依赖无差异;iOS平台会使用 Kotlin/native 实现Kotlin与OC/Swift的相互调用,生成framework供现成的iOS项目直接依赖使用。

可以说无论对于新建立的项目,还是旧有维护已久的项目都非常友好,入侵性不大,接入成本小。

而UI部分,KMM没有直接提供跨平台实现,需要用各自原生去实现。

就拿携程来说

携程App已有很长的历史了,在类似这样一个庞大成熟的App中要引入一套新的跨端框架,最先考虑的就是接入成本。

而历史的跨端框架以及现存的RN、Flutter等,都需要大量的基建工作,最后才能利用上这个跨平台框架。

通常对于大型的APP引用新的框架,通信本身的属性肯定是没问题的,那么最关键要解决的就是对现有依赖的处理,像RN和Flutter如果需要对iOS原生API调用,需要从RN和Flutter内部底层增加访问API,而对于现有成型的一些API或者第三方SDK的API调用,将需要在iOS的工程中写好对接的接口API才可以实现,而这个工作量是巨大的。

而KMM这个跨端框架,正好可以规避这个问题,他只需要通过简单的配置就可直接调用原有的API,甚至不需要写额外的路由代码就可以实现。

那该如何学习

由于网上的博客文章非常零散,这里小编联合携程团队花费大量时间收集和整理,将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

在这里插入图片描述

最后

希望这份资料可以给希望了解、学习、应用Android 跨平台框架KMM的小伙伴一个参考。

猜你喜欢

转载自blog.csdn.net/weixin_43440181/article/details/130714389