假如让我重新开发一款app

作者: brzhang | 来源:发表于2016-05-06 17:22 被阅读499次

对于android端:

直接上干货 ,废话不要那么多。
Android Application Architecture (Android Dev Summit 2015)
正在做IM的小伙伴们建议看看,后台静默发送,使用job发送,省电啊,不这么做,用户为什么要用你的。
相关视频地址 https://www.youtube.com/watch?v=BlkJzgjzL0c&feature=em-subs_digest
相关demo https://github.com/yigit/dev-summit-architecture-demo

以下基本都是一些mvp,Android-CleanArchitecture 的实践 。

https://github.com/googlesamples/android-architecture/tree/todo-mvp-clean/

https://github.com/android10/Android-CleanArchitecture

https://github.com/ribot/android-boilerplate 尤其这个 。

网络请求框架:

Retrofit
why retrofit !!!
Retrofit 2.0: The biggest update yet on the best HTTP Client Library for Android
why retrofit!!!
wgt retrofit!!!

因为其简单与出色的性能,Retrofit 是安卓上最流行的HTTP Client库之一,为什么敢这么吹,请看下图

Paste_Image.png

图片框架

glide
内存占用比别家的少,google推荐使用,而且google也在使用。
why glide

ORM框架

这个,智者见智仁者见仁,greendaorealm 我觉得都OK。

谈到效率问题 Realm基于C++编写,直接运行在你的设备硬件上(不需要被解释),因此运行很快。它同时是开源跨平台的,iOS的代码可以在GitHub找到,你还可以找到Objective C以及Swift编写的Realm使用实例,更加重要的是,如果你是rx迷,realm是你不二的选择。
realm还有其专属的数据库查看软件,不废话,直接上图

Paste_Image.png
可以看出,笔者其实还是更加倾向于realm的 ,毕竟,跨平台,支持rx,还有自带的数据库查看器,而且文档也丰富,例子也不少

通知框架

otto是一个不错的选择,但是,jake大神不准备维护了,因为RX可以实现。
因此建议使用 RxBus,其实效果都是一样的。

Paste_Image.png

DI框架

使用dagger2 ,现在业界有句话,如果你的框架中不使用dagger2的话,你凭什么说你做了架构设计。
那么,为什么要使用DI,因为

Paste_Image.png
我们要保证,依赖的方向或者说规则是从外到内的,内层实体感知不到外部的改变,这样的架构才是高度可测试,解耦的,也是符合CleanArchitecture 思想。

对于ios端:

开发语言选择swift,为什么不用oc,因为迟早会被swift代替,长痛不如短痛,swift3.0真的能够满足你所有的需求,不服来辩,(swift也可以使用oc的之前的库)。

swift,是一门面向协议的编程语言,一个很显著的特点,协议可以有默认实现。因此,我们的架构中不应该再想oc一样的去造几个上帝类 ,而应该使用面向协议去实现。
具体架构的实施,可以参考,swift开发者大会中 李洁信分享的ppt。

相关文章

网友评论

本文标题:假如让我重新开发一款app

本文链接:https://www.haomeiwen.com/subject/zdqjrttx.html