《APP技术封装与选择》总览

  1. 1. 当需要从0开始做一个APP时,我们该做什么?
  2. 2. 快速开发,让从0开始,并不是真正从0开始
  3. 3. APP的技术封装与选择
  4. 4. 看图说话
  5. 5.总结

虽然之前准备写得是《Android技能树探索》系列,但发现自己比较关注的还是实际的业务开发能力与效率问题,与其说《Android技能树探索》是从理论上的一次知识体系建立,那么这个系列可能更加关注实际中从0到1的APP业务开发与架构所需要的一些知识体系。当然本来没有好坏之前,拿出来区别是因为可能在这之中会有很多知识点上的重复,权当说明一下。

1. 当需要从0开始做一个APP时,我们该做什么?

不管是从正常项目开发流程还是软件工程的视角来看,在做一个新的APP需要做的并不是新建一个工程,你可能需要先了解你的需求,和产品撕逼,熟悉应用整体逻辑,然后确定具体交互,精细到每个页面上的每个按钮,和UI要对视觉,和后台要定义接口,然后自己或者组内进行工作量评估,排期,等这些东东全部搞定了的时候,才能默默打开AS,新建一个项目。
而我们需要讨论的东西,就是从新建一个项目后开始。

2. 快速开发,让从0开始,并不是真正从0开始

很多同学应该都知道,我们平时在写软件的时候,总是在强调要低耦合,可扩展,要模块化,组件化。这一方面是为了代码的逻辑清晰,另一方面就是为了可移植和可复用了。
打个不是很恰当的比方,APP是人写出来的,人和人虽然不一样,但是都有眼睛鼻子嘴巴四肢五脏六腑,APP也是一样,虽然每个APP看上去功能不一,但是一个比较完备的点APP一般都具有网络请求,图片加载,列表展示,分享等等的常用功能。
所以快速开发的精髓,就是把这些功能都独立化,模块化,写好备用,APP需要的时候,直接拿来主义,绝对屡试不爽。

3. APP的技术封装与选择

前面叨叨了这么多,那么接下来的问题是要把这些“眼睛”“鼻子”“嘴巴”都找出来,然后把它们做出来,最后拼在一起。
或者换一句话说,当我们需要从0开始做一个APP的时候,我们应该考虑到这些。
下图是以个人经验撸出来的一个脑图,感觉包含了大部分APP开发的通用问题,如有补充欢迎告知。
Alt text

4. 看图说话

结合上面的那张图,大致来捋一下
这张图分为必要和可选,必要是基本上一个正常点的稍微大的APP都会具备的功能,除非自己弄个hello world玩儿,可选的是指到目前为止,都属于可选技术,APP中占比不是那么太高,当然都是出自个人主观判断,没有经过调查和数据分析。
先看必要吧,包括有网络框架封装,图片加载框架封装,数据库封装,SP封装,权限封装,异常捕获和日志封装,主体架构选择,基本常用工具类,各种基类设计,开发规范。
可选的有扩展语言选择,多进程支持,主题切换,插件化,热修复,第三方UI框架,打包相关,升级分享及第三方封装,页面路由,其他额外项。
本来想把每一条在进一步理一遍的,不过看起来又是一个不小的工作量,不过本系列的下一步也是非常明确的了,会把每个point都尽可能扩展开来,包括封装要点,框架选择,框架原理对比,总之能细就尽量细了。

5.总结

基本上每个系列都是一个自己美好的愿望罢了,这个系列的整体就是希望能够熟悉了解市面上的各种方案与框架,能够快速集成起来满足老板或者其他人的需要,同时为自己节省大量的时间,省得到时候再感叹书到用时方恨少就晚了,多的时候玩玩儿王者农药也是好的。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至same4869@126.com

×

喜欢就点赞,疼爱就打赏