从iOS14到iOS18,从安卓12到安卓16,APP版本一直在迭代,随着迭代越来越多,发现团队的技术债越欠越多~
最开始为了省事,采用了主流的Native加H5混合开发,效率确实快。
页面要迭代,扔一个H5进去;需要调原生能力的,用Native处理。两年下来,H5模块塞了十几个,Native模块也有七八个。每个模块之间耦合得很紧——改A模块,B模块莫名其妙崩了;想更新C模块,必须跟着APP一起发版。
随着手机性能的升级,H5的体验也开始好起来,不过管理起来还是比较麻烦。十几个H5页面运行在各个不同版本的APP中,没有统一的版本控制,没有统一的内容审核,运营人员想改个字得找开发团队排期。
其实不止是我们的APP,估计这个问题很多APP都有。到某个阶段,包体越来越臃肿,维护成本越来越高,产品体验却越来越差。
今年开始测试引入小程序容器的形式,升级一下APP的架构~
一、现状分析
Native加H5的混合开发模式,在早期是合理的。H5开发效率高、发布快,改完直接上线,不需要跟着发版。Native负责核心能力和高性能模块,H5负责内容展示和轻量交互。这个分工没问题。
但H5模