慕课网官网登录平台的Android开发课程怎么样呢?我想去学

本文主要讲解框架实现原理,如果只是想了解一下如何使用,可直接到github上查看README文档


首先说明一下,本文将讲述的组件化与业内的插件化(如:Atlas, RePlugin等)不是同一个概念

组件化开发:就是将一个app分成多个Module,每个Module都是一个组件(也可以是一个基础库供组件依赖),开发的过程中我们可以单独调试部分组件,组件间不需要互相依赖,但可以相互调用,最终发布的时候所有组件以lib的形式被主app工程依赖并打包成1个apk。

插件化开发:和组件化开发略有不用,插件化开发时将整个app拆分成很多模块,这些模块包括一个宿主和多个插件,每个模块都是一个apk(组件化的每个模块是个lib),最终打包的时候将宿主apk和插件apk(或其他格式)分开或者联合打包。

本文将主要就以下几个方面进行介绍:

一、为什么需要组件化?

四、CC执行流程详细解析

六、老项目进行组件化改造的成本有多高?

一、为什么需要组件化?

关于使用组件化的理由,上网能搜到很多,如业务隔离、单独以app运行能提高开发及调试效率等等这里就不多重复了,我补充一条:组件化之后,我们能很容易地实现一些组件层面的AOP,例如:

  • 轻易实现页面数据(网络请求、I/O、数据库查询等)预加载的功能
  • 组件被调用时,进行页面跳转的同时异步执行这些耗时逻辑
  • 页面跳转并初始化完成后,再将这些提前加载好的数据展示出来
  • 在组件功能调用时进行登录状态校验
  • 借助拦截器机制,可以动态给组件功能调用添加不同的中间处理逻辑

  • //或 异步调用,不需要回调结果 //或 异步调用,在子线程执行回调 //或 异步调用,在主线程执行回调
  • 更多用法请看github上的

    PS:配合我的另一个库()一起食用味道更佳:AOP实现在打开页面之前预加载页面所需的数据,并且这个预加载功能完全在组件内部实现,与外部无耦合。

    六、老项目进行组件化改造的成本有多高?

    有些同学很想尝试组件化开发,但仅仅停留在了解的阶段,原因是担心在老项目上进行改造的工程量太大,不敢大改。

    CC框架本身就是在老项目进行组件化改造的需求下设计出来的,考虑到了组件化过程中的一些痛点:

    • 万事开头难,不要改动太大:其实,在组件化改造之前,如果封装的比较好的话,很多lib result)就彻底完成了收银台的组件化改造工作。
    • 模块太复杂,短时间内改不动: 页面改版是个很好的机会,提前与产品经理沟通,获知那些模块即将改版,乘着改版对模块进行组件化改造一举两得。我们的详情页、购物车、首页都是在这个过程中完成组件化改造的。
    • 依赖太多,解耦不便:在改造初期,可以先粗粒度定义组件,熟练之后再继续优化
    • 组件化开发框架学习成本高,要团队内每个人都了解需要较长时间:CC为所有的组件调用提供了统一的调用方式和实现方式,没有任何注解、仅1个接口类。另外library模式切换成application的方式简化为在local.properties中配置一行module名称=true即可。几乎零门槛进行组件化开发

    • 本文比较详细地介绍了android组件化开发框架《CC》的主要功能、技术方案及执行流程,并给出了使用方式的简单示例。
      大家如果感兴趣的话可以来进行具体的分析,如果有更好的思路和方案也欢迎贡献代码进一步完善CC。



}
爱学堂(初高中录播课)
爱学堂(初高中录播课)
爱学堂(初高中录播课)
爱学堂(初高中录播课)
爱学堂(初高中录播课)
爱学堂(初高中录播课)
爱学堂(初高中录播课)
爱学堂(初高中录播课)
中考圆不可不知的那些事儿
八大物理实验,你掌握了多少?
数学三年级上册(人教版)
数学想考130+?这个暑假利用好,绝对没问题
一节课的时间,让你爱上世界史
数学想考130+?看这里
政治学习经典方法一网打尽
}

我要回帖

更多关于 慕课网官网登录平台 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信