📑 目录


一、引言:KMP全栈开发的时代背景

移动开发领域正经历一场深刻变革。从早期 iOS 与 Android 各自为战的原生开发模式,到 React Native、Flutter 等跨平台框架的兴起,开发者始终在“性能”与“开发效率”之间寻找平衡点。然而,随着 Kotlin Multiplatform(KMP)技术的成熟,一种全新的“全栈式”开发范式正在重塑移动端、后端乃至桌面端的协作方式——它不再要求统一 UI 层,而是聚焦于业务逻辑的共享,让各平台在保持原生体验的同时复用核心代码。

1.1 移动开发的演进历程

回顾移动开发的演进路线,我们能看到一条清晰的脉络:从完全依赖平台专属语言(Java/Kotlin for Android,Objective-C/Swift for iOS)的原生开发,到以 Web 技术为基底的 Hybrid 方案,再到追求跨平台 UI 一致性的 Flutter 与 React Native。KMP 在这一谱系中走出了一条独特的“第三条道路”——它不试图统一视图层,而是将网络请求、数据模型、业务校验、状态管理这些真正决定应用稳定性的逻辑层抽取为 Kotlin 公共代码,然后编译为 Android 的 JVM 字节码、iOS 的 Native 二进制或后端 JVM 目标。这种“UI 保持原生、逻辑全面共享”的策略,既规避了跨平台 UI 框架与原生控件的差异化难题,又最大化了代码复用的收益。

1.2 AI Agent浪潮下的技术挑战

当 AI Agent 从实验性产品走向生产环境,它对技术架构提出了严苛要求:移动端需要低延迟的流式响应、离线场景下的本地推理能力,后端必须支撑大规模模型调用与状态持久化。这些需求恰恰凸显了 KMP 的价值——通过共享代码层统一 AI 接口契约、数据模型和流式处理逻辑,Android 与 iOS 客户端可以各自调用平台最优的推理引擎(ML Kit 或 Core ML),后端则复用同一套 Agent 调度与记忆管理机制。这种“一次编写逻辑,多端适配执行”的模式,让团队能够将精力集中在 AI 业务创新上,而非被平台差异拖累。

二、KMP技术栈深度解析

要理解 KMP 如何支撑全栈 AI 应用,首先需要掌握其核心技术栈。KMP 并非某个单一框架,而是一套由 Kotlin 语言、编译工具链、周边库共同构成的生态系统,它的设计始终围绕一个核心理念:让开发者用同一门语言表达业务意图,再将其映射到不同平台的实现上。

KMP 全栈技术栈

Kotlin语言

协程与 Flow

expect/actual 机制

密封类

Compose Multiplatform

桌面端

iOS Beta

Web WASM

Ktor

HTTP 客户端

服务端

WebSocket 双端共用

SQLDelight

类型安全的 SQL 生成

支持 Android/iOS/JVM

AI 框架

Google ML Kit

Apple Core ML

ONNX Runtime

MediaPipe

构建工具

Gradle 多平台插件

Fastlane 自动化分发

GitHub Actions / GitLab CI

2.1 Kotlin Multiplatform核心架构

KMP 的架构核心在于“声明式多平台支持”:开发者使用 commonMain 源集定义接口与通用逻辑,通过 expect 关键字声明平台相关的函数或类型,再由 androidMainiosMainjvmMain 等平台源集用 actual 关键字提供具体实现。这种 expect/actual 机制既是 KMP 最强大的抽象能力,也是开发者需要掌握的关键设计模式。在编译阶段,Kotlin 编译器将公共代码与各平台实现组合,分别产出 Android 的 Dex 字节码、iOS 的静态 framework 或 XCFramework、后端的 JVM 类文件,从而保证各端运行时行为的原生性能。

2.2 现代KMP技术生态

随着 KMP 进入稳定阶段,其周边生态已覆盖全栈开发的核心需求:Compose Multiplatform 将声明式 UI 范式扩展到桌面端与 Web(通过 WASM),让 Android 开发者可以用同一套 Composable 函数构建 iOS、桌面乃至 Web 界面;Ktor 作为 Kotlin 原生的 HTTP 客户端与服务端框架,提供协程原生的异步请求处理、WebSocket 支持与插件式架构,天生适合 Agent 与后端的实时通信;SQLDelight 则通过 SQL 语句自动生成类型安全的 Kotlin 数据访问代码,消除了手写 ORM 带来的性能开销与类型不安全风险;而 Kotlin 协程与 StateFlow 为跨平台异步编程提供了统一基座,让 Android、iOS、后端共享同一套并发模型。

2.3 与Flutter、React Native的对比分析

选择 KMP 而非 Flutter 或 React Native,本质上取决于团队对“跨平台”的定义。Flutter 与 React Native 追求 UI 层的完整统一,用一套组件树渲染所有平台界面,这确实能快速产出多端一致的 UI,但代价是放弃原生控件在交互细节与无障碍支持上的天然优势。KMP 则选择了一种更务实的策略:UI 层交给各平台原生实现(Android 的 Jetpack Compose、iOS 的 SwiftUI),逻辑层用 Kotlin 统一编写。这使得 KMP 项目在与平台 SDK 深度集成(如 ARCore、HealthKit)、长期可维护性方面更具优势,尤其适合已经拥有原生团队、希望逐步引入共享逻辑的企业级项目。

对比维度 KMP(Kotlin Multiplatform) Flutter React Native
UI 实现 各平台原生 UI(Jetpack Compose / SwiftUI),仅共享逻辑层 自绘引擎(Skia / Impeller),一套 UI 代码渲染所有平台 桥接原生组件,JS 层驱动原生控件,UI 代码部分共享
性能 编译为原生二进制,性能接近纯原生;逻辑层无桥接开销 自绘引擎绕过原生控件,渲染性能高,但动画复杂时可能有平台差异 JS ↔ Native 桥接存在序列化开销,复杂交互时可能出现“卡顿”
原生集成 天然一等公民,直接调用平台 SDK(ARCore、HealthKit 等),无需桥接 通过 Platform Channel 与原生通信,功能完整但需额外封装 通过 Native Modules 桥接,成熟但复杂原生功能需手写原生模块
学习曲线 Kotlin 开发者上手快;iOS 开发者需适应 Kotlin 语法与 Gradle Dart 语言生态相对独立,Widget 体系需系统学习 JavaScript/TypeScript 开发者友好,但需理解原生模块与桥接机制
AI 集成便利性 共享 AI 接口定义,多端各用最优推理引擎(ML Kit / Core ML / GPU),Agent 逻辑一次编写全端复用 需通过 Platform Channel 调用各平台 AI SDK,跨端 Agent 逻辑难以直接共享 需通过 Native Modules 调用平台 AI 能力,AI 管线代码需分别实现

三、从Android到全栈:KMP实战路径

KMP 全栈化并非一蹴而就,最佳实践是分阶段演进,让团队逐步积累经验,避免一次大规模重构带来的架构风险。

第一阶段 Android KMP 化 状态 Android 原生工程运行中 识别逻辑层(网络/缓存/校验) 抽取至 shared 模块 expect/actual 处理平台差异 测试用例同步迁移 第二阶段 iOS 扩展 状态 共享模块编译为 iOS framework Swift 通过 OC 接口调用 Kotlin 密封类桥接层编写 SwiftUI 或 Compose iOS 渲染 UI 第三阶段 后端 KMP 状态 Ktor Server 编写 REST/WebSocket 领域模型全端共享 SQLDelight + HikariCP 持久层 Agent 状态机统一复用 第四阶段 桌面与 Web 延伸 状态 Compose Desktop 构建后台 Kotlin/Wasm 探索浏览器端 全平台 Agent 协同工作 KMP 全栈化四阶段演进路线

3.1 第一阶段:Android原生项目KMP化改造

改造的起点是识别出“高复用、低平台依赖”的逻辑层——典型如网络请求封装、数据缓存策略、JSON 反序列化、表单校验规则、业务状态机。可以先将这些模块从 Android 工程中抽取到 shared 模块,用 expect/actual 处理文件系统、系统时间等平台差异,Android 端通过 Gradle 依赖引入即可。这种渐进式迁移的好处在于风险可控:每次只移动一个明确的模块,Android 测试用例同步搬运至公共模块,确保行为不变。当公共逻辑积累到足够体量时,团队会发现新功能的开发速度显著提升——一次编写,Android 端立即可用。

3.2 第二阶段:iOS平台的扩展

将共享模块接入 iOS 项目是 KMP 全栈化的关键一跃。Kotlin/Native 编译器将公共代码编译为 iOS framework,Swift 通过生成的 Objective-C 接口调用 Kotlin 类型。实践中需要关注两点:一是 Kotlin 的密封类(sealed class)在 Swift 侧的枚举式调用需要桥接层,建议为复杂状态管理编写 Swift 扩展简化调用;二是 UI 适配策略的选择——若团队希望保持 iOS 原生体验,则用 SwiftUI 编写 UI 层;若追求跨端 UI 一致性,Compose Multiplatform 现已稳定支持 iOS(Beta 阶段),可以用同一套 Composable 渲染 iOS 界面,只是需要注意与平台原生手势、导航模式的融合。

3.3 第三阶段:后端服务的KMP化

这是 KMP 全栈化最具想象力的步骤。使用 Ktor Server 可以在 Kotlin 公共模块中编写 REST API 与 WebSocket 服务,这意味着一套领域模型、业务校验逻辑、数据访问接口可以在 Android、iOS 与后端之间完全共享。例如,一个 Agent 任务的状态机、消息体结构、流式响应协议,在后端定义一次,客户端直接用同一份 Kotlin 代码获取类型安全的响应,完全避免了前后端数据结构不一致带来的隐性 bug。在持久层,SQLDelight 同样支持 JVM 目标,可以与 HikariCP 连接池结合,构成生产级的数据库访问层。

3.4 第四阶段:桌面端与Web端的延伸

当共享代码库稳定后,Compose Multiplatform Desktop 与 Kotlin/Wasm 可以将应用触达范围进一步扩大。内部运营管理后台、数据分析仪表板这类强逻辑、重交互的工具型应用,非常适合用 Compose Desktop 从共享模块中直接构建——它共享同一套状态管理与网络层,极大降低维护成本。Kotlin/Wasm 仍处于早期阶段,但已展示出在浏览器端运行 Kotlin 逻辑的可能性,未来 Web 端 Agent 界面也可以复用同一套公共代码,实现真正意义上的“全端覆盖”。

四、AI Agent技术架构与KMP集成

构建一个生产级 AI Agent 系统,需要设计一套支持流式响应、工具调用、记忆管理与多模型切换的架构。KMP 的任务是将这套架构的“骨架”抽象为平台无关的 Kotlin 接口,让各端在保持运行时一致性的同时,灵活选择最优的 AI 引擎。

各平台 actual 实现

KMP commonMain 抽象层

用户交互层

Android Compose

iOS SwiftUI

Desktop Compose

LLMClient 接口

ToolExecutor 接口

MemoryStore 接口

StreamPipeline 管线

Google AI Edge

Apple Core ML

ONNX / Triton

Vector DB 向量库

4.1 AI Agent的核心组件

一个典型的 Agent 架构由四个核心组件构成:LLM 集成层负责与 OpenAI、Gemini、Claude 等大模型进行流式对话;工具调用引擎将函数声明(Function Calling Schema)转换为平台本地可执行的操作;记忆管理器维护短期对话上下文与长期知识库(如向量数据库检索);流式处理管线将模型输出的 Token 流实时分发至 UI 层。KMP 中,这四个组件对应的接口定义在 commonMain 中,Android 端可以用 OkHttp 或 Ktor 连接云端模型,iOS 端可切换至本地 Core ML 推理,而后端可以通过 gRPC 调用远程 GPU 集群。

4.2 KMP中的AI能力抽象层设计

设计良好的 AI 抽象层是 KMP Agent 架构的基石。在 commonMain 中定义 LLMClient 接口,提供 streamChat 方法返回 Flow<StreamChunk>ToolExecutor 接口定义平台无关的工具执行协议;MemoryStore 封装对话历史与向量检索。各平台 actual 实现可以根据场景灵活选择:Android 端在需要离线能力时,将 LLMClient 绑定到 ML Kit 或 MediaPipe 的原生推理;iOS 端映射到 Core ML 的 ANE 加速;后端则连接 A100/H100 GPU 集群进行批量推理。这种分层设计让“移动端轻量推理、云端重型计算”的协同模式成为可能,而业务层代码完全不受底层 AI 引擎切换的影响。

4.3 智能客户端的架构模式

在 Agent 应用的架构设计上,“边缘优先”正在成为趋势。敏感数据(如个人日程、通讯录)应在设备端完成推理,仅将脱敏的结构化结果上传云端;模型版本管理通过 KMP 共享的配置模块实现,确保 Android 与 iOS 端同时收到新模型的下发指令。离线场景下,Agent 的路由逻辑在客户端的轻量 LLM 上完成意图识别,复杂任务则缓存至恢复网络连接后提交云端。这种“边缘决策—云端执行—本地缓存”的架构在 KMP 技术栈下可以统一调度逻辑,各平台只需实现对应的模型加载器与存储适配器。

五、全栈AI Agent开发实践

理论之后,本章聚焦实际工程中的落地细节,从项目结构到核心模块实现,逐步构建一个可运行的全栈 Agent 骨架。

5.1 项目架构设计

推荐的 KMP Agent 项目采用四层模块化架构:UI 层(Compose Multiplatform / SwiftUI / Compose Desktop)负责界面渲染与用户交互;业务层(Domain Module)在 commonMain 中定义 Agent 调度逻辑、工具调用编排、流式消息转换规则,这一层是应用的核心,完全平台无关;数据层(Data Module)通过接口定义 LLMRemoteDataSourceMemoryLocalDataSource,各平台实现对应的网络客户端与本地存储;AI 引擎层(AI Module)封装不同平台的模型推理适配器。依赖方向严格遵循“业务层不依赖任何平台实现”,确保核心逻辑可独立测试。

AI Engine Layer

Android: AI Edge / ML Kit

iOS: Core ML / ANE

JVM: ONNX / Triton

Data Layer

LLMRemoteDataSource 接口

MemoryLocalDataSource 接口

Domain Layer (commonMain)

AgentOrchestrator

ToolCallDispatcher

StreamMessageConverter

UI Layer

Compose Multiplatform

SwiftUI

Compose Desktop

5.2 共享业务逻辑的实现

在领域模型层面,建议使用 Kotlin 的 value class 和强类型 ID 来建模 Agent 消息、工具调用参数和对话状态,避免“字符串满天飞”带来的类型安全问题。状态管理推荐采用单向数据流(UDF)模式:UI 层发出意图(Intent),业务层通过 StateFlow 向 UI 层暴露不可变的状态对象。例如,一次工具调用可能经历“解析参数 → 调用执行 → 观察结果 → 流转回 LLM”四个状态,全部在 commonMain 中的 AgentOrchestrator 类内完成,Android 与 iOS 端只需订阅同一个 StateFlow 即可驱动 UI 更新。

5.3 AI能力的平台适配

具体到各平台适配:Android 端可通过 Google AI Edge SDK 运行 Gemma 等端侧模型,替代云端调用处理简单问答与意图识别,KMP 抽象层让业务代码无需感知模型来源切换;iOS 端利用 Core ML 的 .mlpackage 格式加载量化模型,Metal Performance Shaders 提供 GPU 加速的矩阵运算;后端推荐使用 ONNX Runtime 的 Kotlin 绑定或通过 gRPC 对接 Triton Inference Server,实现批量并发推理。关键经验:为每个平台 actual 实现编写集成测试,覆盖“输入 Prompt → 验证输出格式”的端到端场景,确保接口契约的一致性。

5.4 实时通信与数据同步

Agent 的实时交互依赖 WebSocket 长连接传输流式 Token。Ktor Client 在 commonMain 中提供统一的 WebSocket 接口,Android 与 iOS 共用同一套心跳保活与断线重连逻辑。在多端场景下(如手机发起 Agent 请求、手表显示结果),可以基于 StateFlow 的多端订阅机制,通过后端作为中继实现状态广播。对于音视频流,Kotlin 层负责信令协议的编解码,平台层(CameraX / AVFoundation)负责采集与渲染,保证实时性。

六、性能优化与工程实践

全栈 KMP 项目在享受代码复用红利的同时,也面临多平台编译、内存管理、测试覆盖等工程挑战。以下实践经验来自真实项目的踩坑总结。

6.1 编译优化策略

KMP 项目在每个平台都触发一次完整的 Kotlin 编译链,初始全量编译时间可能较长。优化手段包括:开启 Gradle 构建缓存与 Kotlin 增量编译;将不常变化的第三方依赖(如 Ktor、SQLDelight)抽取为独立的 shared-deps 模块,利用模块化缓存减少重复编译;对于 iOS 目标,embedAndSignAppleFrameworkForXcode 任务只处理变化的 framework,配合 Xcode 的 DerivedData 缓存可显著降低 CI 构建时间。最终产物体积方面,谨慎引入大型库(如 TensorFlow Lite),优先使用平台内置的 AI 引擎减少包体。

6.2 内存管理与资源优化

Kotlin/Native 使用基于引用计数的内存管理策略,与 JVM 的 GC 机制不同。在 iOS 平台上需要特别注意避免循环引用:业务层的 StateFlow 持有 ViewModel 引用时,应使用弱引用或在生命周期 onDispose 中显式取消订阅。图片加载推荐使用各平台原生方案(Coil for Android、Kingfisher for iOS),仅将图片 URL 缓存策略放在公共模块。

6.3 测试策略与质量保障

测试是保证共享代码在多平台行为一致性的关键防线。单元测试在 commonTest 中编写,覆盖业务逻辑、状态机转换、JSON 序列化等核心模块,通过 JVM 执行以提高速度;集成测试在 androidTestiosTest 中运行,验证 actual 实现的平台行为——例如 Android 的 ML Kit 推理输出与 iOS 的 Core ML 输出在相同输入下是否语义一致。UI 测试层面,Compose Multiplatform 提供统一的 ComposeTestRule,可以跨平台验证交互流程;但平台特有功能(如推送通知、生物识别)仍需各自的 UI 测试方案(Espresso / XCUITest)。

6.4 持续集成与部署

推荐使用 GitHub Actions 或 GitLab CI 搭建多平台构建流水线:一个 Pipeline 包含 Android Lint + 单元测试、iOS XCFramework 编译 + Simulator 测试、后端 JAR 打包三个并行 Job。

代码提交 PR

CI Pipeline 触发

Job 1: Android

Job 2: iOS

Job 3: JVM Backend

Lint 静态检查

commonTest 单元测试

androidTest 集成测试

打包 AAB

编译 XCFramework

Simulator 集成测试

Fastlane → TestFlight

编译 JAR

集成测试

Docker 镜像构建

发布审核

应用商店分发方面,Android 通过 Bundle 发布、iOS 通过 TestFlight 分发,均可在 CI 中用 Fastlane 自动化完成。对于 Agent 应用的特殊需求,建议集成 A/B 测试 SDK(如 Firebase Remote Config)的 Kotlin 客户端,让业务层决策的“使用端侧模型还是云端模型”可以通过远程配置开关实时调整。

七、典型应用场景与案例分析

KMP 全栈 Agent 的技术价值最终需要在具体场景中验证。以下四个案例展示了从消费端到企业级的实际应用可能。

7.1 智能客服助手

某电商平台用 KMP 构建了覆盖 Android 与 iOS 的智能客服 Agent。公共模块共享意图识别、FAQ 检索与工单创建逻辑,客户端通过 WebSocket 接收流式回答,用户输入的购物车截图经平台端 OCR(Android 用 ML Kit Text Recognition、iOS 用 Vision)提取文字后传入同一个对话管线。后端 Agent 在识别到需人工介入时自动创建工单并同步至客服系统,全程代码复用率达 70% 以上。

7.2 个性化内容推荐

一个新闻聚合类应用使用 KMP 统一管理推荐策略与用户画像。Android 与 iOS 客户端各自收集脱敏后的阅读行为特征,通过共享模块的 RecommendationEngine 将特征向量上传至云端,后端经模型推理返回个性化 Feed 列表。客户端仅缓存最近的推荐结果,当检测到网络不可用时自动降级为本地热度排序,切换逻辑完全在公共 StateFlow 中编排。

7.3 智能家居控制中心

智能家居 App 的跨平台特性与 KMP 天然契合。Android、iOS 与桌面端共享同一套设备发现协议(mDNS 或 Matter)、场景自动化规则引擎与语音指令解析逻辑。当用户说“开启影院模式”时,语音经过端侧轻量 ASR 转文字(Android 的 SpeechRecognizer、iOS 的 SFSpeechRecognizer),公共模块解析指令后通过 MQTT 下发设备控制命令。本地推理确保断网时仍能执行预设自动化,隐私数据始终不出设备。

7.4 企业级生产力工具

某跨国企业用 KMP 开发了内部会议助手 Agent,在 Android 手机、iPad 与桌面端运行。它通过 Compose Multiplatform 提供统一的交互界面,会议中实时转写(平台端语音识别)后将文本流转入公共模块,Agent 自动生成会议摘要与待办事项,通过 SQLDelight 写入本地数据库并与云端同步。后端利用 LLM 对多语言会议内容进行翻译与总结,最终以结构化 Markdown 推送到 Slack/飞书。这个项目中,会议数据处理流水线(转写→摘要→翻译→分发)的调度逻辑全部在 commonMain 中实现,三端零差异复用。

八、挑战与未来展望

KMP 全栈 Agent 开发虽然前景广阔,但在实际推进中仍面临团队、生态与性能等多维度的挑战,这些挑战也是未来社区与企业共同需要攻克的课题。

8.1 当前技术挑战

首要挑战是平台差异的平衡:Kotlin/Native 在 iOS 侧的互操作仍需桥接层处理复杂 Swift 类型(如闭包、泛型协议),这会引入一定的胶水代码。其次是第三方库兼容性——并非所有 Android/iOS 流行库都有 KMP 版本或 Kotlin/Native 绑定,例如某些音视频编解码器、平台特有的传感器 SDK,需要团队评估是等待社区适配还是自行封装。最后是团队转型成本:Android 开发者需要学习 Kotlin/Native 的内存模型、iOS 生态基础;iOS 工程师要适应 Kotlin 语法与 Gradle 构建系统。

8.2 技术发展趋势

Kotlin 团队正在持续推进 KMP 生态的成熟度:Compose Multiplatform for iOS 正从 Beta 迈向稳定,Kotlin/Wasm 有望让浏览器端也加入共享行列。AI 框架层面,Google 的 ML Kit 已提供 KMP 兼容的 Kotlin SDK,MediaPipe 也展示了对 iOS 与 Android 的统一 API 设计,这些信号表明 AI 能力正成为 KMP 生态的一等公民。更长远来看,边缘 AI 芯片(如 Google Tensor、Apple Neural Engine)的算力提升,将让更多 Agent 推理在端侧完成,KMP 的“抽象层设计”恰好适配这种“端云协同”的未来架构。

8.3 开发者成长路径

对于希望在 KMP + AI Agent 方向上成长的开发者,建议路径为:第一步,系统学习 Kotlin 协程与 StateFlow,这是跨平台异步编程的根基;第二步,动手完成一个“Android + KMP Shared Module + iOS Framework”的最小项目,体验 expect/actual 工作流;第三步,尝试将现有 Android 项目的网络层或数据层迁移到 shared 模块;第四步,学习 LLM Function Calling 协议,在共享模块中实现一个简单的 Agent 调度器。参与开源社区(如 Ktor、SQLDelight 的 issue 讨论)也是快速积累经验的捷径。

九、总结

回到最初的问题:在 AI Agent 浪潮中,KMP 能否成为全栈开发的效率引擎?答案是肯定的——前提是正确理解 KMP 的定位,并将其融入渐进式的技术演进路线中。

9.1 KMP全栈开发的核心价值

KMP 的核心价值不在于“用一套代码写所有平台”,而在于让“业务逻辑”这一最宝贵的资产摆脱平台锁定的宿命。无论是 Android 还是 iOS,无论是移动端还是后端,那些承载产品核心竞争力的算法、规则、状态流转,通过 KMP 实现了一次编写、多端验证,从根本上降低了重复实现引入的 bug 风险和维护负担。对于追求长期技术稳定性的团队,这是一种面向未来的架构选择。

9.2 AI Agent时代的技术选择

AI Agent 不是某一端的独有功能,它天然需要跨端协作。KMP 恰好为 Agent 的“智能调度层”提供了统一的构建基座:你可以在 Kotlin 中定义 Agent 如何在端侧识别意图、如何路由到云端模型、如何存储对话记忆,然后将这套逻辑编译到所有目标平台。在“全栈能力”日益成为 AI 产品竞争力的今天,掌握 KMP 意味着你拥有了同时驾驭移动端与后端智能应用的架构能力。

9.3 开始行动

如果你已经阅读到这里,最好的下一步就是从最小可运行项目开始。建议参考官方的 Kotlin Multiplatform Wizard 创建一个支持 Android 与 iOS 的模板项目,然后尝试将一段简单的网络请求逻辑抽取到 commonMain。关注 KotlinConf 的技术分享、加入 KMP 中文社区、跟踪 JetBrains 的 Roadmap,这些行动将让你在 KMP 全栈 AI 开发的道路上走得更稳、更远。

Logo

一站式 AI 云服务平台

更多推荐