跨平台开发地图 | 2026年8月

大家好,我是老刘

8月的跨平台圈堪称大版本月。Flutter放出了3.47大版本,带来了Material和Cupertino解耦独立成包的里程碑式变化,Impeller也正式成为桌面端默认渲染引擎。React Native在0.87中正式把Strict TypeScript API转正,KMP也推进到了2.4.20-RC。MAUI这边的Preview 7带来了Passkey认证和XAML增量热重载等新能力。一起来看看各框架的具体变化。


1. 八月跨平台技术综述

8月跨平台圈的关键词是结构变革生态收敛

① Flutter 3.47大版本,设计系统解耦

Flutter 3.47(8月12日)是这几个月来变化最大的一个版本。Material和Cupertino正式从核心SDK中剥离,以material_uicupertino_ui两个独立包发布在pub.dev上。同时Impeller成为macOS、Windows、Linux的默认渲染引擎,Widget Previews转正稳定,加上Wasm默认化推进和Apple生态适配,覆盖了从底层渲染到顶层设计的全链路升级。

② React Native 0.87大版本,TypeScript API转正

8月11日发布的RN 0.87是继0.82"新架构时代"后又一个分水岭版本。Strict TypeScript API从0.80的预览变成默认,Metro更新到0.87(内存减半、源映射快2倍),实验性支持SwiftPM,同时AGP 9支持正式落地。

③ KMP 2.4.20-RC,Swift生态融合更进一步

Kotlin 2.4.20-RC(8月12日)带来了更多Swift互操作增强,包括sealed class映射到Swift枚举、跨语言继承等。同时BTA扩展到JS/Wasm/Metadata目标,原生编译器镜也开始实验性发布。

④ uni-app x Android蒸汽模式上线,微信AI接入

5.23版本中,Android蒸汽模式正式上线,意味着uni-app x在Android/iOS/鸿蒙三端都实现了蒸汽模式覆盖。同时微信小程序平台新增微信AI支持。

⑤ .NET MAUI Preview 7,Passkey认证与增量热重载

.NET 11 Preview 7(8月11日)是MAUI在.NET 11正式发布前的倒数第二个预览版。跨平台Passkey认证、XAML增量热重载、Shell路由模板等功能正式对外展示。


2. Flutter:3.47大版本,Material/Cupertino独立成包,Impeller默认桌面端

Flutter更新日志:docs.flutter.dev/release/rel...

8月12日,Flutter 3.47正式发布。这是自5月Google I/O 2026发布3.44以来最大的一个版本。当前最新稳定版为Flutter 3.47.0,Dart版本同步升级。

2.1 Material与Cupertino独立成包

这是本次版本最大的结构性变化:Material和Cupertino设计系统正式从Flutter核心SDK中剥离 ,以material_uicupertino_ui两个独立包发布在pub.dev上,版本号1.0。

这意味着什么?

  • 设计系统可以独立于Flutter SDK的季度发布节奏,按周发布修复和新组件
  • 社区贡献者可以直接向设计系统包提交PR,不必等待Flutter核心团队
  • 为未来Flutter核心widget目录的风格中立奠定基础

迁移方式

运行 dart fix --apply --code=migrate_design_widgets 即可自动迁移。

兼容性桥接

MaterialUiCompatibilityBridge 可以让你的应用在依赖包仍使用旧导入的情况下,立即切换到独立包。

本地化同步解耦

flutter_localizations 也被拆解,本地化代理现在位于 material_uicupertino_ui 包中。

2.2 Impeller成为桌面端默认渲染引擎

从3.47开始,Impeller是macOS、Windows、Linux的默认渲染引擎。如果用Skia渲染,需要手动回退(回退选项将在未来版本移除)。

桌面端的其他改进:

  • SDF文本渲染

    利用桌面端更强的GPU算力,使用Signed Distance Function渲染更锐利的文字和曲线

  • Wide Gamut Color

    macOS上默认启用广色域渲染

  • 实验性多窗口支持

    Linux和Windows支持弹出窗口(popup windows),可查询windowHandle获取原生窗口指针

  • 桌面版Flavors

    Windows和Linux现在支持Flutter flavors

2.3 Widget Previews转正稳定

Flutter Widget Preview正式稳定,可以在不构建和启动整个应用的情况下,即时渲染、检查和迭代单个UI组件。

2.4 Apple生态适配

  • UIScene生命周期

    Xcode 27强制要求,Flutter CLI自动迁移,但自定义原生代码需手动处理

  • Intel Mac逐步淘汰

    Flutter CLI在Intel主机上构建时会打印警告

  • SwiftPM进展

    前100个iOS插件中92个已迁移到SwiftPM,未迁移的插件pub.dev评分会降低

  • 最低OS版本提升

    iOS最低版本从13提升到15,macOS从10.15提升到12

2.5 Wasm默认化推进

Flutter团队正在积极推进Wasm成为Web应用的默认编译目标。--wasm标志已可用,同时新增了实验性的Wasm延迟加载支持(--enable-wasm-deferred-loading)。

2.6 Android依赖矩阵更新

  • Java: 17(最低)
  • Kotlin Gradle Plugin: 2.4.0
  • AGP: 9.1.0
  • Gradle: 9.3.1
  • compileSdk/targetSdk: API 36
  • minSdk: API 24

2.7 老刘点评

3.47是今年最具结构性意义的一个版本。Material/Cupertino解耦这件事,表面看只是包管理的调整,实际上意味着Flutter的设计系统迭代速度将大幅提升:不再受限于SDK的季度发布节奏。再加上Impeller上桌面端、Widget Previews转正、Wasm推进,Flutter正在从"移动优先"转向"全平台+模块化"的架构。迁移需要一些工作量,但方向是对的。建议所有开发者在非生产项目上可以提前体验。


3. KMP (Kotlin Multiplatform):2.4.20-RC发布,Swift互操作再进化

Kotlin新特性:kotlinlang.org/docs/whatsn...

8月12日,Kotlin 2.4.20-RC发布,这是2.4.20的最终候选版本。KMP相关的主要变化如下:

3.1 与KMP直接相关的关键变化

① Swift Export:Sealed Class映射为Swift枚举

Kotlin sealed class/interface现在可以映射为Swift枚举,在Swift端可以用switch进行穷尽匹配,新增子类时编译器会警告。这是KMP在iOS端开发体验的重要提升。

② Swift Export:跨语言继承

Kotlin中定义的接口现在可以在Swift端实现,然后传回Kotlin侧调用。这意味着你可以用纯Swift库来实现Kotlin定义的协议,对KMP项目中接入Swift原生生态非常有价值。

③ 自动生成Package.swift

assembleSharedXCFramework Gradle任务现在会自动生成Package.swift文件,方便XCFramework的SwiftPM分发。

④ Klib增量编译

从2.4.20-Beta1延续下来的改进,klib增量编译默认开启,大幅缩短多模块KMP项目的debug构建时间。

⑤ BTA扩展到JS/Wasm/Metadata

Build Tools API现在支持Kotlin/JS、Kotlin/Wasm和Kotlin metadata目标,为构建工具生态统一铺路。

⑥ 协程堆栈恢复

StackTraceRecoverable接口允许自定义异常在kotlinx.coroutines的堆栈恢复中保留特定属性。

3.2 其他值得关注的更新

  • Kotlin/Wasm

    支持Wasmtime作为运行时

  • Kotlin/JS

    新的浏览器测试DSL(取代已弃用的Karma),支持导出suspend lambda为async函数

  • 编译器原生镜像

    实验性发布,提供更快的命令行启动速度

  • 标准库新增

    allDistinct()allDistinctBy()allEqual()allEqualBy()等集合函数

3.3 老刘点评

2.4.20-RC的一个核心主题是Swift生态的深度融合。Sealed class映射为Swift枚举和跨语言继承这两个功能,对KMP在iOS端的实际开发体验提升是实打实的。以前在KMP项目中做Swift互操作总是有各种墙,现在这些墙正在被逐一拆除。如果你在做KMP+Swift的项目,2.4.20-RC值得立刻在开发环境跑起来。

另外不知道大家注意到没有,wasm已经被越来越多的跨平台框架选择成为跨平台web端的解决方案。

所以一些经典的解决方案,会逐步成为业界的共识。


4. React Native:0.87发布,Strict TypeScript API转正

React Native博客:reactnative.dev/blog

8月11日,RN 0.87正式发布,这是继0.86(6月)之后的又一个大版本。

4.1 Strict TypeScript API默认启用

从0.80开始作为预览引入的Strict TypeScript API,在0.87中正式成为默认。这意味着:

类型可信任

类型定义直接从RN源码生成,不再依赖手工维护

API稳定

API范围限定在react-native根导出,内部文件变更不再产生破坏性变更

文档注释

大多数符号现在包含文档注释,悬停即可查看

Breaking Changes

deep imports(如react-native/Libraries/*)现在是类型错误,需要迁移;部分类型名称和形状有调整。

退出机制

通过opt-out开关可在0.88之前继续使用旧类型,0.89将移除。

4.2 Metro 0.87

  • 源映射生成快2倍:DevTools加载更快
  • 内存减半:更高效的源映射存储
  • 支持TypeScript和ESM配置文件 :如metro.config.mts
  • 移除.es6扩展名和YAML配置支持

4.3 实验性SwiftPM支持

RN 0.87新增实验性SwiftPM支持,作为iOS平台CocoaPods的替代方案。只需要Xcode,不需要Ruby、Bundler或CocoaPods。使用npx react-native spm --deintegrate命令即可切换。

4.4 AGP 9支持

0.87是首个支持AGP 9的RN版本。同时最低工具链要求更新:

  • Node.js >= 22.13.0
  • 最低Kotlin版本 2.0+(内置Kotlin 2.2.0)
  • compileSdk 37

4.5 老刘点评

RN 0.87的Strict TypeScript API转正是一个迟来的正确决定。从0.80到0.87花了近一年时间,但社区适配还算平稳。加上Metro性能提升和SwiftPM实验支持,RN在开发体验上正在追赶其他框架。建议正在使用RN 0.80+的团队尽快升级到0.87,类型系统的改善值得立刻体验。

当然也要考虑生态兼容和稳定性,生产版本可以稍微等等。


5. uni-app x:5.23/5.24双版本,Android蒸汽模式上线

uni-app x更新日志:doc.dcloud.net.cn/uni-app-x/r...

8月uni-app x连续发布了5.23 (8月6日)和5.24(8月13日)两个版本。

5.1 5.23版本:Android蒸汽模式上线

① 【重要】Android蒸汽模式正式上线

继5月鸿蒙蒸汽模式、7月iOS蒸汽模式后,Android蒸汽模式在5.23中正式上线。这意味着uni-app x在Android/iOS/鸿蒙三端都实现了蒸汽模式覆盖,渲染引擎自研路线基本完成。

而且这次的蒸汽模式不再要求强类型,可以使用js/ts编写,进一步降低了使用门槛。

② 【重要】微信小程序支持微信AI

uni-app x的微信小程序平台现在可以接入微信AI能力。

③ 蒸汽模式组件能力增强

  • sticky-section支持preload属性和push-pinned-header属性
  • button支持loading-text-class
  • pullDownRefresh支持uni.startPullDownRefresh/uni.stopPullDownRefresh
  • uni.createSelectorQuery支持组件内多根节点查询
  • 全局属性支持dataset

④ 其他平台更新

  • Android:uni.request开启QUIC时默认支持Brotli压缩
  • iOS:新增苹果登录(Sign in with Apple)、querySelectorswipeBackAsBackPress配置
  • 鸿蒙:新增uni.requestMerchantTransfer转账确认收款
  • 微信小程序:支持独立分包

5.2 5.24版本:Bug修复

修复了5.23版本引发的text组件文本频繁更新时无法及时渲染、vue useComputedStyle部分情况下无法获取更新样式、以及uts付费插件编译报错等问题。

5.3 老刘点评

Android蒸汽模式的上线,意味着uni-app x在渲染引擎自研路线上完成了一个重要里程碑:三端都有了蒸汽模式。而且这次蒸汽模式不再强制要求强类型,对开发者更友好。加上微信AI支持,uni-app x在AI+小程序的融合方向上也在加速。如果你的项目需要同时覆盖App和小程序,值得紧跟更新。

还是那句话,同时有app和小程序并不代表你的app和小程序大部分功能重叠。

所以只有app、小程序的功能基本一致时老刘才推荐用同一套技术栈。否则仍然建议你分开选择解决方案。


6. .NET MAUI:Preview 7发布,Passkey认证+XAML增量热重载

.NET MAUI博客:devblogs.microsoft.com/dotnet/cate...

8月11日,.NET 11 Preview 7发布,这是.NET 11正式版前的倒数第二个预览版。MAUI相关的更新如下:

6.1 跨平台Passkey认证

全新的Passkeys Essentials API,支持Android 14+、iOS 16+、Mac Catalyst 16+和Windows 10 1903+。使用Passkeys.IsSupported检查可用性,Passkeys.CreateAsync注册凭证,Passkeys.AssertAsync进行认证。

6.2 XAML增量热重载

预览功能,使用源码生成器和MetadataUpdateHandler,在不重建应用的情况下更新已实例化的页面。支持属性变更、子元素增删、结构重排、附加属性、标记扩展、绑定和ResourceDictionary更新。Debug构建默认启用

6.3 Shell路由模板

Shell路由现在支持类似ASP.NET Core的路径参数模板,包括必选、可选、默认值、约束、catch-all和混合段。

6.4 AOT安全的RelativeSource绑定

XAML源码生成器现在将{RelativeSource AncestorType=...}绑定编译为trim安全的TypedBinding,避免AOT发布构建中的反射问题。

iOS和Mac Catalyst上,NavigationPage和TabbedPage改用标准Handler架构,替代了之前庞大的Renderer。

6.6 第三方平台后端扩展点

Preview 7为社区平台后端提供了统一的扩展点,XAML OnPlatform现在支持GTK、macOS和WPF。

6.7 其他更新

  • Android

    FastDeploy2成为默认快速部署策略,CoreCLR Debug构建保持typemap稳定

  • Apple平台

    IPA构建默认包含符号文件,dotnet watch支持物理iOS设备

  • Windows

    单实例激活支持、Border键盘激活改进

6.8 老刘点评

Preview 7的Passkey认证是一个值得关注的新方向:跨平台生物认证API的标准化,对MAUI在企业级应用场景中的价值是加分项。XAML增量热重载也是长期被开发者呼吁的功能。但目前MAUI在.NET 11预览周期中已经到了Preview 7,正式版应该不远了,建议等正式版再评估升级。


7. 本月跨平台技术变化汇总

框架 7月状态 8月状态 关键变化
Flutter 3.44.6 3.47.0 Material/Cupertino独立成包、Impeller默认桌面端、Widget Previews转正、Wasm推进
KMP 2.4.20-Beta1 2.4.20-RC Swift Export密封类/跨语言继承、自动Package.swift、BTA扩展、原生编译器镜像
React Native 0.86(无变化) 0.87 Strict TypeScript API默认、Metro 0.87、实验性SwiftPM、AGP 9支持
uni-app x 5.14 / 5.15 5.23 / 5.24 Android蒸汽模式上线、微信AI支持、三端蒸汽模式全面覆盖
.NET MAUI Preview 6 Preview 7 Passkey认证、XAML增量热重载、Shell路由模板、Handler架构迁移

老刘建议

  1. Flutter用户 3.47是重大版本,Material/Cupertino解耦需要迁移。建议非生产项目立刻体验,生产项目先在测试分支跑通迁移流程。Impeller桌面端默认值得关注。

  2. KMP用户 2.4.20-RC是正式版前的最后候选,Sealed class映射Swift枚举和跨语言继承对iOS端开发体验提升明显,建议在开发环境试用。

  3. RN用户 0.87的Strict TypeScript API值得立刻升级,类型系统的改善是长期收益。注意breaking changes,特别是deep imports的迁移。

  4. uni-app x用户 Android蒸汽模式上线,三端蒸汽模式全面覆盖,且不再强制强类型。建议App项目立刻体验。

  5. MAUI用户 Preview 7的Passkey认证和XAML增量热重载值得关注,但建议等.NET 11正式版发布再评估升级。

技术的车轮滚滚向前,只有不断学习,才能永远在牌桌上。


🤝 如果看到这里的同学对客户端或者Flutter开发感兴趣,欢迎联系老刘,我们互相学习。

🎁 私信免费领老刘整理的《Flutter开发手册》,覆盖90%应用开发场景。可以作为Flutter学习的知识地图。

💬 : laoliu_dev
📂 老刘也把自己历史文章整理在GitHub仓库里,方便大家查阅。

🔗 github.com/lzt-code/bl...

相关推荐
渔夫正在掘金1 小时前
Cordis 中文教程:渐进式构建插件化应用
前端·node.js·ai编程
阿文和她的Key1 小时前
把 800+ 文件的真实项目交给 XunOPC,它到底能不能真的修 Bug?
agent·ai编程
宋哥转AI1 小时前
深入理解 AI Agent · MEMORY #02:记忆的工程机制
人工智能·agent·ai编程
打呵欠的猫1 小时前
前端团队 3 个月 AI 实践复盘:哪些场景 ROI 最高,哪些是伪需求
前端·ai编程
AI编程实验室2 小时前
Agent Plugins 1.0实战:plugin.json、skills、mcp.json目录结构与迁移
ai编程
oden2 小时前
一个不会游戏开发的人,用 AI 把一款小游戏做到上线了
ai编程·cocos creator·游戏开发
程序员黑豆2 小时前
Java中的null与NullPointerException完全指南:安全处理、实战排查与面试题
java·前端·ai编程
Carson带你学Android2 小时前
Android 版 MCP 正式登场:AppFunctions
android·ai编程·jetbrains
FEF前端团队3 小时前
Cursor 使用指南 01#:优化你的提示词
ai编程·cursor