闲暇之余,开发了一款休闲类app,虽然用户量不多,但确实花了不少心血在这上面。然而,开发出来的结果,与之前想好的架构,还是有不少区别。
下面,记录下这款app架构的演变:
最初,只想写个app,能与机器人进行聊天。架构随意搭(或者说没有架构),快速开发出来就好:
![9166166-c49879b3844e8586.png](https://i-blog.csdnimg.cn/blog_migrate/268aa71ce90459cf69e48a3a625dd2dc.webp?x-image-process=image/format,png)
最初(无架构)版本
很简单,按照代码功能,分为各种包。
然后,需要增加各种功能模块,如:新闻,小游戏,历史上的今天,社区,手电筒,找手机等。然后就想着这些模块是否作为可拆卸模块,需要的简单插入,不需要也方便移除:
![9166166-edf03e892a6b4966.png](https://i-blog.csdnimg.cn/blog_migrate/c73cf46ba6ebd344704538f13a2f225f.webp?x-image-process=image/format,png)
第一次改版
本次架构修改主要包括下面几点:
1、抽出公共部分,如:OSUtil。
2、各种基类,处理了统计、webview配置等。
3、将需要增加的功能模块化,完全无依赖
随着时间的推移,还是感觉越来越乱,再加上之前的UI设计有点过时的感觉,于是重构了一版:
![9166166-66380196ed0d1181.png](https://i-blog.csdnimg.cn/blog_migrate/75320ab383db30f845800bf68cf56048.webp?x-image-process=image/format,png)
第二次改版
相对于上一次的架构,改动不大:
1、确定基础模块(机器人聊天)
2、增加app配置(因为考虑开发其他app,将所有配置文件独立有利于后续app套用现有框架)
3、其他细节更新
原文:简书ThinkinLiu 博客: IT老五
ps:本来想写写性能方面的东西,写到一半,临时想把自己开发的【小萌伴】原本想要的架构记录下,希望能不断改进。通过【小萌伴】学习了不少,如:手电筒,找手机(短信,保活,语音等)、游戏(原生游戏4款,部分h5游戏),社区(UI,抽象,数据同步,网络优化等)还有MD设计及开发,运行时权限等。把这些记录起来,希望在架构上也能有所进步,以更宽阔的眼界去看待移动端产品。