背景
最近鸣潮玩上瘾和朋友一拍即合决定开发个强化声骸工具,结果我们两个穷鬼连688的苹果开发者账号都买不起,于是决定转战小程序,由于已经开发好了一套flutter代码,再从头开始写原生小程序有点浪费时间,于是就搜索看有没有可能将flutter代码打包成小程序,不搜不知道一搜才知道,我看到了MPFlutter。
过程
我是如何在现有flutter代码迁移到MPFlutter上的呢? 很简单,MPflutter官方文档给的说明已经很清楚,首先先把MPFlutter官网上的模版下载下来,然后用fvm(FVM flutter版本控制工具 切换到对应版本,由于我之前已经下载过fvm,并且配置好了环境,所以直接用 fvm use 3.22.1 切换到对应的flutter版本。
注意,切换后还要确保你在IDE里也切换到对应版本的flutter,我本人使用的是Android Studio,在Settings > Languages & Frameworks > Flutter > Flutter SDK path: 选择当前目录/.fvm/flutter_sdk
遇到的问题
- FPFlutter官方文档有提及到个别不能使用的库,比如cached_network_image, url_laucher 这种比较依赖平台实现的库,一开始没有认真看文档,导致图片加载不出来
- 使用Gorouter 不能分包, 分包了会导致屏幕变成灰色,如果业务不是很复杂的话可以使用原生的navigator 2.0
- flutter原生的AppBar的actions区域会被微信的退出按钮挡住,需要做一下适配
目录结构
结尾
总结来说MPFlutter降低了flutter开发小程序的学习成本,总的来说非常值得一试。 如果有鸣潮玩具的话可以试试我们的小工具