[AndroidDev 系列] 快速开发(一)

因为受到github上江清清的FastDev4Android项目的启发,正巧又要负责公司新项目的启动,所以准备写个类似的库,争取做到write once,run AnyWhere(哈哈,开玩笑,方便以后快速开发啦~~)

随着Android项目业务量的迅速增长,原本的项目结构已经远远不能满足我们的需求来。因为直线上涨的代码量让我们花在编译项目上的时间由原来的一分钟左右到现在的五分钟甚至更长的时间。虽然谷歌官方提出instant run的解决方案,但是由于种种问题,还是没能很好的解决这个问题。

题外话:这里在网上看到有一种比较好玩的方案,通过编写gradle来计算每个task的执行时间,从而对整个项目的编译时间进行优化。有兴趣的朋友可以试下~~

Gradle插件编写

好吧,回到我们的主题:由于组件化采取的是在开发过程中将每一个业务模块都作为一个application,并伴随着一个壳工程,这样就大大缩减了我们开发时的编译时间;当项目上线的时候,只要将这些application变成第三方Lib,然后让壳工程依赖于这些Libs,进行打包,这样就完美的结局了编译时间上的问题。由于之前已经有大神总结了比较好的实践过程,这里就不赘述啦,直接看大神的文章吧~~

Android组件化开发实践

相信朋友们一定听过插件化这个概念,这里可以通过下面这篇文章稍稍科普下:

Android 组件化和插件化开发

下面来介绍下接下来我们要完成的项目的结构吧:

《[AndroidDev 系列] 快速开发(一)》

通过图中我们可以看到,对我们来说比较重要的突破点就是:

  • 路由工程
  • BaseLibrary

其中,路由工程我们可以直接引用下ActivityRouter这个工程;

接下来,就是根据我们的业务需要去完成最重要的baseLibrary啦~~
从图中我们可以看到,我们需要在接下来的日子里面完成:

  • 网络请求的封装

  • 图片加载的封装

  • 加密库的封装

  • UI的封装

…….

不知道这里你是不是和我有着一样的疑问:github上有那么多现成的第三方框架,例如Square全家桶,facebook等(PS:移动端技术更新太过频繁啦,向大家推荐一个站可以看看最近出来哪些比较稳定的技术吧Android 流行框架查速表),为什么还要封装自己的框架呢?

实际上我们的封装也是建立在这些第三方库的基础上的,只是随着业务量的不断扩大,我们可能会切换项目所引用的第三方库,这个时候我们只需要更改自己的封装类就可以啦,是不是很方便。其实我也是借鉴stormzhang的观点的啦,有兴趣深入了解这样做的原因可以看看这篇文章,如何正确使用开源项目?

好啦,接下来就让我们一起开启Android快速开发之旅吧,一起加油吧~~

待会儿,在没开始之前,咋们还是要确立注意点规范,还有就是工具啦,工欲善其事,必先利其器嘛~~

    原文作者:汤增雷
    原文地址: https://www.jianshu.com/p/716b54c4a9c3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞