从新手到架构师,一篇就够!Android组件化最全开源项目

背景

组件化作为Android客户端技术的一个重要分支,近年来一直是业界积极探索和实践的方向。每个大厂内部的各个Android开发团队也在尝试和实践不同的组件化方案,并且在组件化通信框架上也有很多高质量的产出。本文主要介绍我们的组件化方案,希望对从事Android组件化开发的同学能有所启发。

为什么要组件化

近年来,为什么这么多团队要进行组件化实践呢?组件化究竟能给我们的工程、代码带来什么好处?我们认为组件化能够带来两个最大的好处:

1.提高组件复用性

可能有些人会觉得,提高复用性很简单,直接把需要复用的代码做成Android Module,打包AAR并上传代码仓库,那么这部分功能就能被方便地引入和使用。但是我们觉得仅仅这样是不够的,上传仓库的AAR库是否方便被复用,需要组件化的规则来约束,这样才能提高复用的便捷性。

2.降低组件间的耦合

我们需要通过组件化的规则把代码拆分成不同的模块,模块要做到高内聚、低耦合。模块间也不能直接调用,这需要组件化通信框架的支持。降低了组件间的耦合性可以带来两点直接的好处:

1.代码更便于维护

2.降低了模块的Bug率

怎样实现组件化

要实现组件化需要考虑的问题主要包括下面几个:

  • 代码解耦。将一个庞大的工程拆分解耦,这是非常耗时耗力的工作,但这也是最基础最重要的一步

  • 数据传递。每个组件都有可能提供给其他组件使用,主项目与组件、组件与组件之间的数据传递

  • UI跳转。

  • 组件的生命周期。组件加载、卸载和降维的生命周期

  • 集成调试。在开发阶段如何做到按需的编译组件?一次调试中可能只有一两个组件参与集成,这样编译的时间就会大大降低,提高开发效率。

  • 代码隔离。如何杜绝耦合的产生。

下面给大家介绍的是全网最全的高级Android组件化强化实战手册,覆盖了整个互联网公司,受篇幅限制不会展示所有内容,只能截图展示部分,完整内容已整理成PDF文档。

朋友们如果有需要《高级Android组件化强化实战》手册,扫描下方二维码报名组件化训练营即可领取~

(扫码领取,限前200名)

第一章 Android组件化初识

  • 组件化和模块化的区别

  • 组件化和插件化的区别

  • 组件化开发的优势

  • 业务逻辑层

  • 组件化开发要遇到的问题

  • 从组件化实战来解决问题

  • Android组件化基础

  • ……

第二章 Android组件化初探目录

组件化演示案例

  • 概述

  • 模块化和组件化

  • 组件化Demo

  • 组件application和library动态切换

  • ……

WanAndroid APP 组件化项目实战附demo

  • 版本更新

  • 效果图

  • 主要功能

  • 项目目录结构

  • 主要开源框架

  • ……

第三章 架构演化(大厂篇)

从智行 Android 项目看组件化架构实践

  • 组件化调整的原因和目标

  • 组件化架构调整的整体规划

  • 组件化架构调整中遇到的一些问题

得到 App

  • Android彻底组件化demo发布

  • JIMU使用指南

  • 组件化拆分的感悟

  • ……

微信 App

  • 微信Android模块化架构重构实践

  • 微信Android架构历史

  • 为何再次重构微信

  • ……

蘑菇街 App

  • 蘑菇街 App 的组件化实现方式

  • 组件生命周期管理

  • 壳工程

  • 遇到的问题

  • 持续集成

  • 周边设施

  • ……

爱奇艺 App

  • 基于Service的IPC通信

  • 组件化跨进程通信的核心诉求

  • Andromeda

  • 架构分析

  • ……

美团 App

  • 外卖客户端容器化架构的演进

  • 美团外卖容器化架构全景图

  • 外卖跨端容器建设

  • 外卖页面容器建设

  • 外卖容器化架构的衡量指标

  • 外卖容器化架构的监控运维

  • 外卖容器化架构的发布能力

  • ……

  • 美团Android组件化方案及组件消息总线modular-event实战

  • 美团Android消息总线的演进之路:用LiveDataBus替代RxBus、EventBus

  • WMRouter:美团外卖Android开源路由框架

  • 美团猫眼android模块化实战-可能是最详细的模块化实战

携程 App

  • 携程移动App架构优化之旅

  • ……

支付宝 App

  • Quinox 简介

  • Bundle 介绍

  • 资源管理

  • 容器化

  • ……

Atlas-手淘组件化框架

  • Atlas是什么

  • 组件化的诞生

  • 解耦和依赖

  • 性能的演进

  • ……

有赞微商城

  • 组件化改造概述

  • 实现方案

  • 实际应用案例

  • ……

总结

组件化后让代码结构非常清晰,分层结构以及之间的交互很明了,团队中的任何一个人都可以很轻松的绘制出代码结构图,这个在之前是没法做到的,并且每个组件的编译时间从 10 分钟降到了几十秒,工作效率有了很大地提升,最关键的还是解耦之后,每次开发需求的时候,面对的代码越来越少,不用背负那么重的代码包袱,可以说达到了“代码越写越少”的理想情况。

如果你是一位Android开发者学好组件化是非常有必要的,而深入理解组件化的实战更是重中之重。

为了让大家更好的掌握组件化,我特邀前爱奇艺高级工程师lance给大家带来《Android--组件化路由框架》,带你详解路由框架的演进过程,轻松掌握路由原理,通过字节码插桩与Gradle,完成路由框架的终极实现,让你在大厂面试中更有竞争力。

Lance老师:

某游戏公司主程,前爱奇艺高级工程师;

专精领域:移动平台开发,NDK、架构、性能优化;

课程大纲

1.18 基础再差也能学会,路由框架的一步步演进

1、组件化项目架构

2、页面路由原理与实现

3、APT技术编译时代码自动生成

1.19 字节码插桩与Gradle,路由框架的终极实现

1、自定义Gradle插件

2、Android插件 Transform的应用

3、字节码插桩优化路由框架

发送暗号“666”添加雯雯老师,秒报名训练营即可

领取《高级Android组件化强化实战》手册

如遇扫码受限,请添加微信:xiangxue1269429207

推荐阅读:

Android 卡顿调研

我又开发了一个非常好用的开源库

用烂的LruCache,你真的完全懂了么?

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值