Flutter动态化方案

手机游戏开发者 2024-9-11 06:19:48 64 0 来自 中国
配景

随着业务功能越来越复杂,Flutter应用须要连续更新添加新功能,而且也会遇到线上bug须要实时修复,如今常见的升级方式接纳整体更新升级,无论是安卓照旧IOS,都需提交对应的应用市场更新,考核周期长也常常有遇到被拒的环境,纵然上线了也无法到达全部用户升级,存在兼容题目,费时费力,而且用户对app动辄几十兆几百兆的应用更新是比力抗拒的。
面临这些题目,如果能实现app增量、无感知更新,实现功能同步。无论是对公司照旧用户都优劣常重要的需求,能实现app动态化更新照旧很有须要的:

  • 可以减小发版功能包大小,只须要更换新增功能即可;
  • 随时实现功能升级,不存在应用市场长时间考核和拒绝上线题目。
  • 功能保持同等,雷同网页一样,发版后用户同步更新,不存在旧版本兼容题目
  • 线上bug可以实时修复,提高用户体验
方案

动态化方案实现,一个须要思量通用性,即ios、安卓等各个端实现保持同等,方便同一维护;尚有、升级包不能太大,保存渲染性能,否则跟h5对比就没有上风。
简朴全量更新SO

安卓中接入flutter通过动态库so方式,重要有flutter.so和app.so,后者包括了功能代码,可以直接更新更换app.so即可,IOS无法通过雷同方式更新。
DSL更换

美团的MTFlutter团队flap项目接纳的静态生产DSL方案,通过对Dart语言注解,包管平台同等性。实现了动态下发与表明的逻辑页面一体化的 Flutter 动态化方案。Flap 的出现让 Flutter 动态化和包大小这两个短板得到了肯定水平的增补,促进了 Flutter 生态的发展。
基于JS实现

MXFlutter 是一套基于 JavaScript 的 Flutter 框架,可以用极其雷同 Dart 的开辟方式,通过编写 JavaScript 代码,来开辟 Flutter 应用,大概使用 mxjsbuilder 编译器,把现有Flutter 工程编译为JS,运行在 mxflutter 之上。
其他开源框架

Fair是为Flutter操持的动态化框架,通过Fair Compiler工具对原生Dart源文件的主动转化,使项目获得动态更新Widget Tree和State的本领。方式雷同于React Native。Fair提供了尺度的Widget,它可以被用作一个新的动态页面或作为现有Flutter页面的一部门,诸如运营位的排版/样式修改,整页面更换,局部更换等都可以使用。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 20:23, Processed in 0.132353 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表