news 2026/10/27 23:35:50

第111篇 Kotlin Multiplatform 初识:跨端共享业务逻辑

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第111篇 Kotlin Multiplatform 初识:跨端共享业务逻辑

前面几节都在 Android / JVM 范围内,这一节把视野打开到Kotlin Multiplatform(KMP)。这是近年 Android 面试里的新兴高频题——不是因为它有多难,而是因为很多人只知道"跨平台"四个字,答不出边界在哪里、什么时候不该用。这一节的判据很清楚:KMP 的价值在"共享业务逻辑",不在"共享 UI"。

先把结论放在前面:KMP 的核心能力是"同一份 Kotlin 代码编译到多个平台"。工程上真正划算的共享范围是domain 层与 data 层(模型、网络、存储、算法),UI 层仍由各端原生实现(Android 用 Compose/View,iOS 用 SwiftUI/UIKit)。原因是各端 UI 体系与交互规范差异太大,硬共享 UI 会让expect/actual失控,反而拖慢迭代。

机制背后的执行路径

KMP 的技术底座是expect/actual这对关键字:

// commonMain:声明"这里需要一个平台实现" expect class PlatformClock { fun nowMillis(): Long fun locale(): String } // androidMain:Android 侧真实实现 actual class PlatformClock { actual fun nowMillis() = System
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/14 5:53:16

游戏引擎基础架构深度拆解:模块协同、ECS与工程实践

不少朋友问过我同一个问题:游戏引擎那么多模块,渲染、物理、动画、UI、资源管理……它们到底是怎么被组织起来的?为什么看引擎源码时总觉得像迷宫?说实话,这个问题我当初也卡了很久。后来自己在实际项目中既踩过模块耦…

作者头像 李华
网站建设 2026/10/13 12:43:05

耐火材料斗式提升机选型与故障排查实战经验

做耐火材料这行的老铁,应该都熟悉这个场景:破碎后的高铝矾土、刚玉、碳化硅颗粒,从料仓到混料机再到成型压机,中间全靠那一台斗式提升机把物料一层层送上去。耐火材料斗式提升机听起来和普通粮食、水泥用的斗提机没啥区别&#xf…

作者头像 李华
网站建设 2026/10/13 10:39:21

React搜索框竞态条件实战:防抖节流与AbortController方案

1. 是时候重新审视“搜索”这件小事了如果你做过几年的React前端,大概率会对这么个场景刻骨铭心:用户在搜索框里输入“React数据获取”,刚敲完“R”,请求发出;敲到“Rea”,又一个请求发出;等到完…

作者头像 李华
网站建设 2026/10/13 19:58:11

Zynq异构计算实时加速:Linux UIO驱动与中断延迟优化实战

前阵子在一款 Zynq-7010 平台上做运动控制卡的迭代,需要在 Linux 下对 FPGA(PL 侧)产生的高速触发脉冲做亚毫秒级响应。第一版图省事,直接在应用层用 read /dev/mem 轮询寄存器,结果延迟飘到几毫秒,偶尔还…

作者头像 李华
网站建设 2026/10/14 0:23:55

企业级 RAG 知识库数据隔离实战:权限模型、审计日志与兜底策略

1. 企业 RAG 知识库的数据隔离为什么是个绕不开的坎做企业级 RAG 知识库,最容易被低估的就是数据隔离这件事。我见过太多团队,Demo 阶段跑得飞起,一上生产就翻车——销售部门的人搜到了 HR 的薪酬文档,外包员工看到了只有正式员工…

作者头像 李华
网站建设 2026/10/15 6:57:33

QuickBlue AI应用底座:JDK 21与Spring Cloud实战

1. 从一次深夜救火说起:为什么“AI 应用底座”突然成了刚需去年冬天,一个做智能客服的朋友凌晨两点给我打电话,说他们的 AI 问答服务又挂了。不是模型的问题,而是模型前面那层业务系统扛不住了——会话状态丢失、限流规则失效、多…

作者头像 李华