目前正在用 flutter 做一个数独游戏,目前的目标平台是移动平台,面向 APP Store 和 Google Play 的海外用户。
因为国内各种游戏版号和备案的限制,现在上架的时候是直接剔除的国区,所以 APP 内直接集成了 Firebase 的服务和 Admob 的广告。
现在项目的构造是除了数独的逻辑部分我提炼成了一个 package 之外,所有的其他逻辑相关的代码都在一个主项目库中,主要是界面,广告,内购这些。
目前数独逻辑 package 代码是大几千行的代码量,主项目是 1 万+的代码量。
以上是前提。
我现在想把项目做一个重构,让它能够更具有灵活性,力求可以达到:
dart:io
等只有原生平台支持的库,所以并不能在 web 上跑起来。web 版的功能会有很大的阉割,主要是在官网用来试玩和引流。现在移动版的开发已经完成并上线了 App Store 和 Google Play ,所以在研究项目的重构方案。
我的想法是首先抽离游戏玩的部分的界面逻辑为一个 package ,然后内购广告等都抽离为相应的 package ,给不同的平台生成一个不同的主项目,在主项目中用胶水代码按需来组合这些 package 。
不过这样就导致项目过多,需要同时打开 N 个库来修改,不太方便不同的平台调试。如何最大化的提炼逻辑让胶水代码量最小也是个挑战。
不知道有没有做过 flutter 多平台的同仁,能帮忙出出主意。
后端转移动端中老年野生程序员先行谢过。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.