App新项目的构建

一、App的主题是什么?

这次是做什么app,要明确上级提出的需求?要知道做的主题是什么?虽然一个App会有产品经理来决定做什么内容?但是一个App的形成是需要多方合作完成,所以沟通必不可少。
主要功能是什么?功能特色有哪些点?大到整体功能框架的设计,小到数据如何展示都应有个大致的沟通,这点也是我现在做的不够好的地方,经常会做完后发现功能逻辑和需求不一致导致返工。自己可以的话也应该做一些流程图,更好的对产品形成有更好的掌控。

二、需求分析及工期把控。

可能是现在个人技术尚浅,项目经验不足的原因,很多时候对整个项目的完成周期把控不是很好,有时候可能会超前完成,但更多时候都会延期,延期的原因很多,可能是工作量超出了预期,这很大部分是自己的原因,对需求没有正确的把控,也可能是因自己的技术原因,导致一些功能做得慢或者卡在了某个BUG,项目经验真的挺重要,有些BUG百度是解决不了的,也有可能是临时加了需求,那么这个延期就可以向上级说明一下。在自己计划时一定要认真梳理自己的项目进度,尽量留一点调试,改bug和优化的时间,不然,赶不上老板不好交代自己心情也会很烦,烦的时候很容易忽略一些细节和正确的逻辑。留点时间总结,反而更好朝着正确的方向去实现它。

三、项目设计框架和主要实现框架

现在大致都是用的MVVM+dataBinding的设计框架,说实话,我对这东西只能说懂点皮毛,知道怎样去用,但是感觉始终未能真正的了解它的技术栈和思想。哪个框架有什么好处?有什么地方区别于其他框架?主要会用到什么技术?

其次,一个App的实现,需要用到一些第三方源码,不可能一个导航功能自己去写一个类似于百度地图的SDK,所以,一些需求的实现需要我们用到第三方SDK,那么怎样去选择一个合适有性能好的第三方SDK则非常重要,我们需要去比较他们之间的优缺点,比较当今市场的主流框架,性能,维护,安全等等。

1.图片加载框架:现在很主流的一套用的是Glide,最新的是Fresco,不过涉及底层,所以还未真正去了解它。Glide可以多去了解它常用的方法,每个方法的传参的意义是什么,他的特色功能在哪儿,它的优势是什么?一些重要的源码可以去看看。

 2.网络请求框架:这个现在大部分项目用的都是okhttp,现在的App大部分都是没得网络基本就用处不大,所以选择一个合适的网络框架也很重要,Volley大学的时候写过小Demo,现在几个项目里都是用的Okhttp或者一些大神封装的框架,其实其本质也是Okhttp,Retrofit也有过一些了解,但是自己是真的笨,久了不用就真的忘了忘了,哈哈哈~

retrofit的话比Okhttp使用更简单,更方便,特别适合Rxjava,RESTFUL API风格的项目,emmm,自己是啥都知道一些,但是都不精通,这样很不好呀。

Okhttp的实现原理,工作流程,涉及到的涉及模式都很有必要去了解一下~

自己项目用的是Okgo,惭愧,只知道他很优秀,但也只是用的来,源码看得很浅薄!!!

  3.常用的工具类框架:Blankj 

Android开发人员估计都会用到这个库,各式各样的工具在这库里都能找到,有activity的,权限,日志,缓存,各类控件,反正用习惯了就是很舒服,Android工具类blankj,最近github吃了*一样,老是进不去。。。。github工具类方法介绍

使用这类工具类的好处就是用起来很方便,并且热门的库都经过了万千程序猿的实例测试,所以一般原开发者都会定期维护和修复,当然也有可能不能满足自身项目的需求,此时自己封装方法时,也可以拿大神的代码进行参考。(多看源码多看源码!!!)

4.线程间通信:EventBus

EventBus 是一个开源库,它利用发布/订阅者者模式来对项目进行解耦。它可以利用很少的代码,来实现多组件间通信,尤其是碎片之间进行通信的问题。android的组件间通信,我们不由得会想到handler消息机制和广播机制,通过它们也可以进行通信,但是使用它们进行通信,代码量多,组件间容易产生耦合引用。EventBus

这个确实在项目里用的比较多,当我在某个界面进行了一个操作后,可以通过EventBus的post事件传递数据,App内所有订阅此事件的订阅者都会拿到数据并进行自己的方法去处理。余额刷新,状态刷新等等。

定义事件,发布事件,订阅事件,几行代码就完成了组件间通信,确实非常的方便。源码看了些,不过也忘了,反射和注解,可以多看看原理!

5.IM聊天:webSocket

6.常用功能控件:tablayout,二维码生成,banner,滚轮选择器,底部导航栏,下拉刷新上拉加载框架,新人引导这类使用控件根据需求进行选择,如何使用看源码和博客就行,要学会调试和修复Bug。

四、常用第三方SDK

1.广告:穿山甲,推啊,腾讯

2.支付:微信和支付宝

3.游戏:聚享玩和闲玩

4.小说:阅盟

5.网赚:鱼玩任务,蘑菇任务

6.购物:京东,淘宝,拼多多

7.数据:友盟,移动安全联盟,腾讯分析

8.推送:各大平台

9.视频:一览刷视频

10.定位:百度SDK

11.天气:和风SDK(没搞起,烦)

第三方的SDK模块一般都是封装好了的功能模块,配置好就可以直接使用了。

第三方SDK的接入一般都很简单,按着对接文档走就行了,不过要注意正确的配置和初始化它,现在权限和个人信息获取检测很严格,一定要先申请权限再获取用户信息。也别用一些敏感内容的SDK,导致自己的App被报病毒。

接入并不难,但是要随时维护此模块导致的BUG和不良体验。

五、代码混淆,加密传输,分包,JNI和NDK

六、良好的界面设计及交互性

七、界面优化,内存优化,网络请求优化(好的代码结构和好的框架)

八、拟出不合适的地方,下版本优化

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

&岁月不待人&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值