产生原因:
大家都知道小游戏性能的确不敌app,所以,项目在发布小游戏的时候,为了保证流畅度,在保证品质的情况下,除了进行一些资源优化外,还会对粒子特效等一些内容进行删减,而app发布的时候,保留了100%的内容,那么问题就来了,随着项目的迭代,app和小游戏始终是存在一些差异,最终不得不面临一个发布上的问题。
解决方案
项目在制作过程中肯定是100%内容的开发,仅仅是小游戏平台会做一些精简,以下是我能想到的一些解决方案,各有优劣
-
解决方案1
-
代码同时兼容app、wx,即wx和app用的是真正的一套代码
- 优点:仅仅维护一套代码
- 缺点:
- 代码为了兼容app、wx,各种 if else 判断,项目越负责,维护成本越高
- app、wx的内容可能容易窜,本来wx上不显示的,结果app上没有显示,也就是上边说的维护成本高,想要玩转,需要从代码架构上去解决这个问题,而不是依靠各种逻辑判断
- 因为真正的共用一套代码,所以连资源都一模一样,即使,wx上没有使用到这个资源,也要加载,因为app也用到了
-
感觉弊大于利,不是很推荐这种方式
-
解决方案2
-
Git分支:大家都在APP分支上开发,然后,发布微信小游戏的时候,切换到wx分支并与APP分支进行合并,然后对wx分支做必要的修改
- 优点:共用同一份代码,wx分支代码仅仅是对app分支的一个修改
- 缺点:
- wx分支只能跟app分支合并,而app分支 禁止 和wx分支合并,至于为什么?你懂得。
- 如果wx分支要精简的内容过多,app、wx分支其实差异已经很大了,而app禁止和wx分支合并,导致app作大量修改的话,可能wx分支合并会出现很多问题,最终导致wx分支合并app分支后的不能使用,慢慢的2个分支会发展为2个项目
- 感觉这种方案只适合少量的差异
-
解决方案3
-
将 方案2 进行优化,公共逻辑提取出来,公司不缺钱的话,直接分2个项目组,app和h5
最后
不知道大家有什么好的解决方案,欢迎赐教

