大家好,我是老刘
10月的跨平台圈很有节奏感,大版本前的最后冲刺。Flutter继续在3.47上打补丁,这个月到了无障碍细节。RN 0.88一口气发了五个RC,React 19.3正式合入,正式版临门一脚。KMP这边2.4.21修补发布,2.5.0 Beta1也亮相了。uni-app x憋了一个多月放出5.26,蒸汽模式把暗黑模式这块短板补上了。MAUI则迎来了.NET 11 RC2,纯C#写界面终于可以一行命令生成。一起来看看各框架的具体变化。
1. 十月跨平台技术综述
10月跨平台圈的关键词是RC冲刺 与短板补齐:
① Flutter hotfix修到3.47.7,收尾无障碍细节
10月Flutter依旧没有大版本,stable频道推出3.47.6(10月2日)和3.47.7(10月9日)两个hotfix。修复重点从9月的构建崩溃转向了无障碍,OverlayPortal和ReorderableListView在iOS VoiceOver下的焦点问题被集中处理。当前最新稳定版为3.47.7,内置Dart 3.13.5。
② React Native 0.88连发五个RC,React 19.3合入
10月RN没有发布正式版,但0.88的RC节奏明显加快,rc.3(9月28日)、rc.4(10月7日)、rc.5(10月12日)接连发布,加上9月中旬的rc.1和rc.2,已经累计五个候选版。React 19.3.0在rc.1中同步合入,SwiftPM和TypeScript类型在持续打磨。当前最新稳定版仍是0.87。
③ KMP 2.4.21修补发布,2.5.0 Beta1亮相
Kotlin 2.4.21(10月8日)发布,属于2.4.20之后的常规修补。更值得关注的是9月23日发布的2.5.0 Beta1,这是12月语言版本前的第一个Beta,KMP相关的新特性开始进入可试用阶段。
④ uni-app x 5.26发布,蒸汽模式补齐暗黑模式
经过一个多月的空窗,uni-app x 5.26(9月18日构建)上架更新日志。蒸汽模式这边收获不小,表单组件适配暗黑模式、支持prefers-color-scheme媒体查询、新增Teleport组件,还补了一批滚动能力的API。
⑤ .NET MAUI .NET 11 RC2,纯C#界面模板来了
.NET 11 RC2(10月13日)发布,继续带go-live许可。MAUI这边最亮眼的是dotnet new maui --ui csharp,不依赖第三方库,一行命令生成纯C#写的Shell界面。Android构建再提速31%,Xcode 27成为Apple平台硬性要求。
2. Flutter:hotfix修到3.47.7,开始啃无障碍细节
Flutter更新日志:docs.flutter.dev/release/rel...
10月Flutter延续hotfix节奏,3.47.6 (10月2日)和3.47.7 (10月9日)先后发布。当前最新稳定版为Flutter 3.47.7,内置Dart 3.13.5。
2.1 两个hotfix修了什么
3.47.6 修复Windows生产应用挂起
只修了一个问题,但分量不轻。Windows平台production构建的应用会出现挂起,这类问题一旦在用户机器上出现就是投诉重灾区,单独发一个hotfix也在情理之中。
3.47.7 修复iOS无障碍焦点偏移
修了两个VoiceOver相关问题。一个是OverlayPortal显示时无障碍边框被设备像素比缩小并锚定到左上角,VoiceOver焦点和XCUITest点击都会落空。另一个是ReorderableListView在VoiceOver下语义焦点错误跳到屏幕左上角。这类问题对做海外市场的团队是硬门槛,欧美应用商店对无障碍合规查得很细。
2.2 老刘点评
这两个hotfix透露的信号挺明显,3.47的崩溃级问题基本修完了,现在开始啃无障碍这种深水区的细节。回头看9月修的SwiftPM构建失败、Windows安全软件拦截,10月修的VoiceOver焦点偏移,bug的严重程度在往下走,版本的成熟度在往上走。
建议企业项目再观察一下hotfix版本只修不改,风险不高,但是整个生态支持还需要一点时间。做iOS海外应用、需要过无障碍审核的团队,3.47.7这两个修复是刚需。
另外提醒一句,Flutter官方Skill和AI相关文档这两个月持续在更新,还没试过的同学可以拿3.47.7的项目去跑一下,看看官方给出的AI辅助开发姿势到底好不好用。
3. KMP (Kotlin Multiplatform):2.4.21修补发布,2.5.0 Beta1亮相
Kotlin发布页:github.com/JetBrains/k...
10月8日,Kotlin 2.4.21 发布。这是2.4.20正式版后的第一个修补版本,按惯例集中处理编译器崩溃和多平台工具链问题,没有引入新特性。当前最新稳定版为Kotlin 2.4.21。
3.1 2.5.0 Beta1来了
比2.4.21更值得关注的是9月23日发布的2.5.0 Beta1。按照官方规划,2.5.0是12月的语言版本,这个Beta是正式版前的第一个可试用构建。
对KMP开发者来说,2.5.0最大的预期是BTA(Build Tools API)默认启用。2.4.20已经把BTA扩展到JS/Wasm/Metadata,2.5.0按计划会把opt-in开关拿掉,构建工具生态统一进入默认状态。现在基于Beta1提前验证,能避开12月正式版发布后的集中适配期。
3.2 老刘点评
2.4.20把Swift互操作两大能力转正之后,KMP进入了一个平稳迭代期。2.4.21这种修补版本没什么好犹豫的,直接升,保持工具链在最新状态。
真正有悬念的是12月的2.5.0。BTA默认化之后,Gradle构建脚本的写法会进一步收敛,一些依赖旧API的插件可能要跟着升级。做KMP项目的团队可以拿2.5.0 Beta1在分支上跑一遍完整构建,提前把坑排掉。
4. React Native:0.88连发五个RC,正式版临门一脚
React Native发布页:github.com/facebook/re...
10月RN没有发布正式版,0.87仍是当前最新稳定版。但0.88的候选版节奏明显加快,9月16日rc.1、9月22日rc.2、9月28日rc.3、10月7日rc.4、10月12日rc.5,一个月不到发了五个RC。
4.1 0.88 RC里有什么
React 19.3.0合入
rc.1把React 19.3.0同步进了RN。这是RN向React最新主干的常规对齐,新架构下React特性的跟进速度一直保持得不错。
TypeScript类型持续打磨
rc.2恢复了传统deep imports的.js回退,给老项目留了过渡空间。rc.4放开module augmentation,允许扩展生成的props和style类型。0.87 Strict TypeScript API转正引发的生态适配阵痛,正在一个个被抹平。
SwiftPM继续修
rc.1修复SwiftPM从podspec读取名称、平台最低版本从IPHONEOS_DEPLOYMENT_TARGET推导等问题。rc.3修复每次同步都重建库包根目录的问题。0.87引入的实验性SwiftPM支持在往可用状态收敛。
Android无障碍修复
rc.4修复accessibilityState.disabled从true重置后Pressable部分区域无法点击的问题。
4.2 老刘点评
五个RC发完,rc.5的发布说明只有一句话,相比rc.4没有任何改动。候选版修到这个程度,正式版基本就是这两天的事。
老刘的建议分两层。还没升0.87的团队,现在直接升0.87,把deep imports迁移做掉,0.88正式版发布后再跟一次小版本就行。已经在0.87上的团队,可以拿0.88.0-rc.5在测试分支跑一遍,重点验证TypeScript类型和SwiftPM,正式版发布当天就能无缝切过去。
另外React 19.3合入是个值得关注的信号。React主干的并发特性和Server Components理念在持续往RN渗透,虽然现在还不用动业务代码,但长期看RN和React Web的心智模型会越来越接近。
5. uni-app x:5.26发布,蒸汽模式补齐暗黑模式
uni-app x更新日志:doc.dcloud.net.cn/uni-app-x/r...
经过一个多月的空窗,uni-app x 5.26.2026091802上架更新日志(9月18日构建,10月可查)。截至发稿10月暂无更新的稳定版发布。
5.1 蒸汽模式收获不小
暗黑模式体系补齐
表单相关组件适配暗黑模式,CSS新增@media prefers-color-scheme媒体查询和direction属性。之前蒸汽模式的暗黑支持不完整,页面一半深一半浅很尴尬,这次算是把体系补上了。
滚动能力增强
pages.json新增enableBackToTop、bounces、androidOverscroll配置。list-view支持scroll-into-view跳转到item/header/section、滚动锚定、默认显示到底部。waterflow组件也支持scroll-into-view跳转。IM、长列表这类高频场景的滚动体验有了官方方案。
新增Teleport组件
vue内置的Teleport在蒸汽模式落地,弹窗、悬浮层这类需要跳出组件树的场景写法更标准。
5.2 路由与权限API
新增uni.onAppRoute、uni.onBeforeAppRoute、uni.rewriteRoute,支持页面路由的监听和重写。Android和鸿蒙平台新增uni.requestSystemPermission,可以主动申请系统权限。另外广告接入了美数渠道,Android云打包支持自适应图标。
5.3 老刘点评
5.26这个版本把蒸汽模式的几块短板补得很实在。暗黑模式、滚动体验、Teleport,都是业务开发里绕不开的东西。之前因为暗黑模式没适配而观望的团队,现在可以重新评估了。
老刘还是那个判断,蒸汽模式是uni-app x的长期方向,官方在持续往里堆能力。普通展示类页面VDOM模式够用,但要上uts插件生态、要接近原生的渲染性能,趁早迁到蒸汽模式是更省事的选择。这次5.26补完暗黑模式,迁移的阻碍又少了一个。
6. .NET MAUI:.NET 11 RC2,纯C#界面模板来了
.NET博客:devblogs.microsoft.com/dotnet/
10月13日,.NET 11 Release Candidate 2 发布,继续附带go-live支持许可,可用于生产环境。MAUI相关的更新如下:
6.1 纯C#写界面,一行命令生成
RC2最亮眼的更新。dotnet new maui -n MyApp --ui csharp现在可以直接生成纯C#写的Shell界面,App.cs、AppShell.cs、MainPage.cs全部用C#代码构建,不依赖任何第三方C# UI库。XAML仍然是默认选项,这条命令给不喜欢XAML的开发者开了另一条路。
6.2 Apple Icon Composer资源
MauiIcon在iOS和Mac Catalyst上接受.icon资源包,交给Apple官方的asset compiler处理,绕开了Resizetizer的位图栅格化。Android和Windows继续用SVG/PNG,通过条件项配置即可。
6.3 Android构建再提速
重复执行dotnet build --no-restore从6.72秒降到4.58秒,提升31.8%。更高等级的Zstandard压缩让示例APK缩小约1.05MB。R8混淆模式默认值调整为private-members,优化开启且只重命名私有成员。
另外API 37.2绑定发布,支持JDK 25,Gradle 9.1以上可以搭配使用。
6.4 Apple平台要求Xcode 27
Xcode 27.0成为硬性要求,UIKit、AppKit、AVFoundation、WebKit绑定全部更新。Mac Catalyst最低系统版本提升到17.0,iOS保持15.0不变。需要注意一个breaking change,Xcode 27 SDK下UIKit scene生命周期成为强制要求,老项目升级时要补UIApplicationSceneManifest和MauiUISceneDelegate。
6.5 老刘点评
RC2最有意思的是纯C#界面模板。MAUI社区里一直有一批开发者不想碰XAML,之前要么忍着,要么上第三方库。现在官方把这条路修通了,虽然XAML还是默认,但至少选择多了一条。
Android构建提速31%也很实在,RC1已经把构建时间从68秒压到52秒,RC2又往下砍了一刀。加上R8默认策略调整,MAUI在Android端的工程化体验在快速追赶。
需要提醒的一点是Xcode 27强制要求带来的scene生命周期改造。这个 breaking change 躲不掉,建议基于RC2做升级评估的团队先把这块单独验证,别等到正式版发布再被动应付。
7. 本月跨平台技术变化汇总
| 框架 | 9月状态 | 10月状态 | 关键变化 |
|---|---|---|---|
| Flutter | 3.47.4 | 3.47.7 | 两个hotfix,修复Windows生产应用挂起、iOS VoiceOver焦点偏移 |
| KMP | 2.4.20正式版 | 2.4.21 | 常规修补;2.5.0 Beta1发布,BTA默认化进入可试用阶段 |
| React Native | 0.87 | 0.87(0.88 RC5) | 0.88连发五个RC,React 19.3合入,正式版临近 |
| uni-app x | 5.24 | 5.26 | 蒸汽模式补齐暗黑模式、滚动能力、Teleport,新增路由监听API |
| .NET MAUI | RC 1 | RC 2 | 纯C#界面模板、Android构建提速31%、Xcode 27强制要求 |
老刘建议
-
Flutter用户 3.47.7版本做iOS海外应用的团队尤其要升,VoiceOver焦点修复是过审刚需。hotfix版本风险低。
-
KMP用户 2.4.21直接升。有余力的团队拿2.5.0 Beta1在分支上验证构建,提前适应BTA默认化。
-
RN用户 0.88正式版临近,还没升0.87的抓紧,别攒着两份迁移一起做。已经在0.87上的可以拿rc.5做预验证。
-
uni-app x用户 5.26值得升级,蒸汽模式的暗黑模式和滚动能力都补上了。还在VDOM模式的团队可以趁这个版本评估迁移。
-
MAUI用户 RC2继续带go-live许可,升级评估可以基于RC2推进。重点验证Xcode 27的scene生命周期改造和纯C#界面模板是否符合团队习惯。
技术的车轮滚滚向前,只有不断学习,才能永远在牌桌上。
🤝 如果看到这里的同学对客户端或者Flutter开发感兴趣,欢迎联系老刘,我们互相学习。
🎁 私信免费领老刘整理的《Flutter开发手册》,覆盖90%应用开发场景。可以作为Flutter学习的知识地图。
💬 : laoliu_dev
📂 老刘也把自己历史文章整理在GitHub仓库里,方便大家查阅。