业务背景:构建灵活的APP首页页面,支持功能模块用户自定义、支持第三方接入,目前的实现只是实现规定的规则,接口对应的返回,不是所谓的动态化,故做了动态化方案的调研。
知乎移动端动态化方案 :Morph
关于移动端动态化方案这篇讲得挺好 可惜框架没有开源
鹅厂:MXFlutter
用JS开发 渲染用Flutter 逻辑层用v8/jscore解释运行
优点:逻辑动态化强
缺点:需要熟悉JS、该库维护成本大 最后一次更新时间是20年七月份 目前flutter稳定版本可以正常运行,引入解析引擎,看了下文件大小8M,如果用此方案,理论上会增大app的包大小
58:FAIR
json生成界面实现 逻辑方面弱
优点:界面编写较为简单、该库刚开源 更新频率较高
缺点:定义逻辑方面弱
dynamic_widget
json生成界面实现 逻辑方面较弱
优点:可以直接使用已经定义好常用的小部件生成JSON 开发成本低 该库持续更新了两年 目前依然在持续更新
逻辑方面有定义了一些事件比FAIR强点
缺点:定义逻辑方面没有MXFlutter那么灵活
综上根据我们目前的业务需求,使用dynamic_widget较为轻量级的框架可以完成目前需求。MXFlutter的话可能一个目的是用于APP的热更新,能力很强,目前用于目前业务大材小用了。