闭关的日子
差不多有一个半月没更新了。
无它,忙着写APP。
既然找了个逼班上,自然得负重前行。差不多两个月一刻不停在写,每天实打实干满8小时。下班周末适当再投点时间,终于这周把APP搞上线了。目前暂时只有苹果和小米平台,其他几个Android平台还在调整合规。算是能透口气了吧,上来汇报下情况。
整个APP不难,对接下硬件,有SDK。当初来这上班也是感觉能Hold住才答应的。事实也和自己估计的差不多,这活确实需要全职才能完成。在家兼职的话即便是全天投入也达不到上班那种效率,毕竟还得烧烧饭接接小孩放学。这班上得几乎是开发的理想境界了。那就是不吊任何人---每天写8小时代码,一句废话都不说,谁都不理。没有任何屁会,没有任何扯淡,修的就是闭口禅。
小团队比较拉,很多原本稀松平常的基操交流起来都困难。上班没多久就发现了这个问题---如果以德服人,那基本是没法开发了,感觉会无限扯皮。果断调整了战术,尽量不交流,同时强势掌握话语权说一不二。这招可能也就这种几个人的小团队可以用,但凡正儿八经的开发团队,以普通开发身份加入想体验这种龙傲天的剧情基本是做梦。
人不狠站不稳,这道理到哪都一样。
老板的想法比较尬--7.1上线开始搞发布会,没有商量。四月算人天的时候大概需要77个人天,这还单纯是开发的人天。加上测试与上线的来来回回,显然是不可能完成的任务。没别的办法,直接砍功能,亲自操刀砍,到最后几乎是在边开发边砍。有几个竞品APP,碰上设计复杂的功能就哪个实现简单用哪个。一切都需要上线让路。做了半个月基本上熟悉了整个产品的套路,也有了自己的想法,后续的推进就顺利多了,也更强势了。
上线的过程还算不错,没有太多曲折。主要归功于做了个测试账号,通过绑定一个虚拟的设备,让审核人员可以体验APP中数据展示部分(数据基于真实设备复制得来),同时提供了硬件操作录屏向审核人员说明整体操作流程。这极大得缩短了审核的流程,问题都出在合规性上,几个回合下来也就过了。原本预计需要1-2周时间才能完成第一个平台的上架,最终就花了三天。
技术上没有什么可以秀的,一开始的想法就两点:1.一切基于最新版本,不带历史包袱; 2.尽量减少自己DIY的部分。最终整个应用,除了睡眠的质量图是基于react-native-svg自己画的,其他都是基于成熟组件实现。用的RN是0.78.2,为此花了大概一周时间调整环境跑空工程测试打包,一周时间找关键三方组件写demo,所以真正开始写页面已经是四月中旬了。起步上就delay了两周,这两周的时间被后面开发进展证实还是很有必要的,后续基本上没有遇到大问题。
一个比较大的改变是这次的开发由于就自己一个人,在数据上尝试用“单向流动”来避免简化页面逻辑。其中最主要的数据流向:基于SDK的硬件数据采集->写入Realm->监听数据库改动->更新mobx进行计算->刷新UI。对于后台数据,走的则是api接口->mmkv缓存->刷新UI。应用启动时通过realm数据抽取->mobx赋值计算->刷新UI实现基于Db缓存的初始数据渲染。大量的数据处理做在本地,和后台仅通过数据同步的形式来备份db数据,实现重装APP与绑定硬件后的数据恢复,尽量减少与后台的交互。相比于传统的state变量处理数据,在统一数据流向后开发效率得到了很大程度的提高,特别是有了部分基础页面后,由于APP数据的特性---尽管有心率,血氧,压力等多种数据,但其实数据结构是相似的,所以处理的逻辑也大致相同,后续不少页面逻辑都因为之前已经统一处理了所有类型的数据,开发逻辑基本是复制修改。
目前上线的仅是个初步版本,离7月还有段时间,还有不少调整需要处理。后面还需要对接血糖等其他型号硬件的功能,此外运动,冥想几块和硬件本身关系不大的功能也需要开发。产品设计比较乱,让人头疼。
也希望能把这个APP搞上鸿蒙,但目前来看希望有些渺茫。一方面是厂家的SDK没有鸿蒙版,另一方面把现有的功能迁移到鸿蒙有不少不确定的地方,很多都是之前做地铁鸿蒙化没有遇到过的新场面。
有那么一点点迷茫吧,毕竟这APP怎么看都像是个拉风投的玩意,运营实在不敢恭维。希望是我眼拙吧。离退休还有二十多年,还是期望能走远一点吧,能让自己这个老程序员尽量多发挥点预热吧。
一些技术上的心得体会,如睡眠质量图的优化,会在后续整理上传。
不经常在线,有问题可在微信公众号或者掘金社区私信留言
更多内容可关注
我的公众号悬空八只脚