是否有类似React Native中Code Push的Flutter热更新服务?
有的,Flutter生态中存在不少类似React Native Code Push的动态更新方案,能够实现无需通过应用商店审核即可更新Dart代码或资源,以下是几个主流选项:
Tencent Tinker 适配Flutter
Tinker是国内成熟的热更新框架,有社区维护的Flutter适配插件,可将Flutter的Dart代码打包为补丁包,用户端无需重新下载安装完整的APK/IPA,打开应用时会自动加载补丁完成代码与资源的更新,完全跳过应用商店审核流程。Codemagic Live Updates
这是Codemagic推出的专门针对Flutter的动态更新服务,操作逻辑和Code Push高度相似:你可以将更新后的Flutter代码或资源打包成更新包,通过Codemagic控制台推送到用户设备,应用启动时会自动检查并静默完成更新,无需走应用商店审核流程。Flutter 结合App Bundle动态模块(Android端)
面向Android平台时,可结合Google Play App Bundle的动态模块功能,将部分Flutter功能拆分为独立模块,更新时仅推送对应模块包。虽然仍需通过Google Play的快速审核(审核速度远快于全量包),但属于轻量化更新方式,适合无需完全跳过审核的场景。自定义热更新实现
若有定制需求,也可自行实现简单的热更新逻辑:将Flutter的资源文件或编译后的Dart快照文件托管在远程服务器,应用启动时检查版本差异,下载最新文件替换本地资源即可。不过这种方式需要自行处理版本兼容、下载安全等问题,适合技术能力较强的开发团队。
注意:不同平台对热更新的政策有所差异,比如iOS App Store对修改核心代码的热更新有严格限制,实施前建议仔细阅读平台的官方政策条款,避免违反审核规则。
内容的提问来源于stack exchange,提问作者mohammad kazemienjad

