之前一篇文章总结了关于APP的技术选型及开发过程中遇到的各种坑点。由于时间紧迫,所以开发第一期以做完需求和熟悉React Native为目标。
APP上线后我进行总结思考,开发APP过程中需要有哪些点需要优化。
这是画的架构图
移动端组件
埋点
Bundle拆分
热更新服务
一、移动端组件
在和产品经理及UI沟通后,设计一套移动端组件,以便可以更快速的开发并完成需求。
二、埋点
之前的目标是做一个无痕埋点,收集APP所有点击事件,但是发现必须要在Native端做文章,但是要掌握Android和ios两端 时间成本太高,无奈只好改用别的方式。
改写组件,给组件添加click方法,利用ref方式记录所点击的组件,配合之前做的web端无痕埋点分析工具来进行统计分析。
增加layout组件记录页面加载。
三、Bundle文件拆分
按照业务线来拆分文件夹
React Native 官方提供了一个打包工具Metro
我们使用Metro打包工具,按照业务线拆分bundle为 base.bundle、review.bundle、otb.bundle 等。在Android和ios端控制先加载基础bundle在按需加载业务bundle逻辑。实现bundle按需加载。
四、codepush热更新服务
第一期需求上线前,我发现APP中忘记加更新策略了,所以当时就使用接口 + 弹窗下载链接的方式进行更新。如果有更新必须经过苹果商店审核,不能及时有效进行bug修复。所以需要进行热更新的接入。
第一步我们先使用codepush服务来进行热更新。
搭建私有的codepush服务 仓库
Native APP中接入codepush。
接下来我会搭建bundle管理平台来进行基于用户的灰度发布。
完!