回来说下我最终采用的办法,我自创了一个还算能用的方案,目前正在用这个方式重构手机版的数独游戏,同步开发桌面版(计划上 Steam 和 Mac App Store )。
这个方案将几乎所有的代码逻辑都整合在一个大的 flutter 插件项目中,然后根据不同平台或者 App 的需求创建一个 flutter App 。这个 App 的项目只包含一些配置信息,包括是运行在什么平台,是否支持内购,采用什么广告平台,发行的渠道等等信息。
甚至,我计划把不同的 App (指的是开发中和计划开发的不同 App ,比如在站里征求过建议的 3D 数独
https://v2ex.com/t/998390 ,以后想做的杀手数独,儿童数独等等)都放在这一个杂糅的插件项目中。
这样做好处是最大化的复用了代码,包含逻辑和界面,因为不同数独无论是逻辑还是界面都是大同小异的,还捎带有一个收获,因为不同的 App 中其实已经包含了彼此的代码,所有可以实现在 A App 中试玩 B App 或者 B App 试玩 A App ,方便 App 数量上来之后交叉推广。
缺点也很明显,会导致程序包膨胀,因为重构还在进行中,但我预估代码逻辑本身不会造成太大的膨胀,需要担心的是各类资源,主要是游戏迷题包,目前还没有想好怎么处理。
目前 Hi Sudoku 已经更新到了 1.2.4 ,无论是界面还是操作都有了不少的改进,欢迎试玩。
这是以前在论坛推广的帖子:
https://v2ex.com/t/992373 在这可以找到下载链接。