android组件化开发框架(android插件化开发指南)

背景

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

为什么要组件化

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

1.提高组件复用性

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

2.降低组件间的耦合

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

怎样实现组件化

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

  • 代码解耦。将一个庞大的工程拆分解耦,这是非常耗时耗力的工作,但这也是最基础最重要的一步
  • 数据传递。每个组件都有可能提供给其他组件使用,主项目与组件、组件与组件之间的数据传递
  • UI跳转。
  • 组件的生命周期。组件加载、卸载和降维的生命周期
  • 集成调试。在开发阶段如何做到按需的编译组件?一次调试中可能只有一两个组件参与集成,这样编译的时间就会大大降低,提高开发效率。
  • 代码隔离。如何杜绝耦合的产生。

下面给大家介绍的是全网最全的Android组件化实战整理,覆盖了整个互联网公司,受篇幅限制不会展示所有内容,只能截图展示部分,完整内容已整理成PDF文档,如果你正好需要这份完整版Android组件化最佳实战PDF,可以私信关键词【笔记】即可获得免费领取方式。

第一章 Android组件化初识

1.组件化和模块化的区别

  1. 组件化和插件化的区别
  2. 组件化开发的优势
  3. 业务逻辑层

5.从组件化实战来解决问题

  1. Android组件化基础

android组件化开发框架(android插件化开发指南)-1第二章 Android组件化初探

1.组件化演示案例

  • 模块化和组件化
  • 模块化
  • 组件化
  • 组件化Demo
  • 项目分析
  • 组件application和library动态切换
  • 组件间的数据传递和方法调用
  • 组件类(例如:Fragment)的获取,以及夸组件页面跳转和通讯

2. WanAndroid APP 组件化项目实战附demo

  • 简介
  • 版本更新
  • 效果图
  • 主要功能
  • 项目目录结构
  • 主要开源框架

android组件化开发框架(android插件化开发指南)-2第三章 架构演化(大厂篇)

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

  • 前言
  • 概述
  • 组件化调整的原因和目标
  • 组件化架构调整的整体规划
  • 组件化架构调整中遇到的一些问题
  • 组件化架构的实践成果

android组件化开发框架(android插件化开发指南)-3

2.得到 App

  • Android彻底组件化demo发布
  • JIMU使用指南
  • 组件化拆分的感悟
  • Android彻底组件化—代码和资源隔离
  • 代码隔离
  • 资源隔离
  • 调试切换

android组件化开发框架(android插件化开发指南)-4

组件化:代码隔离也难不倒组件的按序初始化

  • 问题的根源
  • 为什么不使用官方StartUp而选择造轮子
  • 设计思路
  • 有向无环图(DAG)
  • 环校验
  • 契合需求的排序方式
  • 任务的描述
  • 在JIMU中使用
  • 重要事项

android组件化开发框架(android插件化开发指南)-5

本文转载自:https://www.gylmap.com

3.微信 App

  • 微信Android模块化架构重构实践
  • 微信Android架构历史
  • 为何再次重构微信
  • 重塑模块化
  • 取舍和选择
  • 代码之外,架构之内

android组件化开发框架(android插件化开发指南)-6

4.蘑菇街 App

  • 蘑菇街 App 的组件化之路
  • 实现方式
  • 组件生命周期管理
  • 壳工程
  • 遇到的问题
  • 持续集成
  • 周边设施
  • 小结

android组件化开发框架(android插件化开发指南)-7

蘑菇街 App 的组件化之路·续

  • 统一的调用实现
  • 通过 Category 来统一组件对外暴露的接口
  • 更明确的表述
  • 注册这个组件关心的 URL
  • 注册这个组件能够被调用的方法/属性
  • 在 App 生命周期的不同阶段做不同的响应
  • 针对casatwy的一些回应
  • 小结

android组件化开发框架(android插件化开发指南)-8

5 爱奇艺 App

  • 关于组件化
  • 基于Service的IPC通信
  • 组件化跨进程通信的核心诉求
  • Andromeda
  • 架构分析

android组件化开发框架(android插件化开发指南)-9

6.美团 App

  • 外卖客户端容器化架构的演进
  • 背景
  • 美团外卖业务介绍
  • 美团外卖移动端历史架构概述

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

  • 什么是容器化架构
  • 容器化架构的优势
  • 外卖容器化架构全景图
  • 容器化的挑战
  • 外卖跨端容器建设
  • MRN容器
  • Titans容器

外卖页面容器建设

  • 页面容器化设计思路
  • 业务构建模块标准化
  • 小结

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

  • 容器化架构衡量指标的特点
  • 链路指标
  • 关键指标
  • 外卖容器化架构的监控运维
  • 外卖容器化架构的发布能力
  • 容器化架构发布体系
  • 跟版本发布流程
  • bundle资源发布
  • 多种发布能力综合使用

android组件化开发框架(android插件化开发指南)-10

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

  • 背景
  • 组件化之前的状态
  • 组件化方案调研
  • 美团其他团队组件化方案调研
  • 组件化方案
  • 组件化消息总线框架modular-event
  • 组件消息总线modular-event的实现
  • 消息总线modular-event的结构
  • 使用动态代理实现运行时调用
  • 订阅和发送的模式

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

  • 背景
  • 发布/订阅模式
  • RxBus的出现
  • 引入LiveDataBus的想法
  • 为什么使用LiveData构建数据通信总线LiveDataBus
  • LiveDataBus的设计和架构
  • LiveDataBus最终实现

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

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

android组件化开发框架(android插件化开发指南)-11

11.携程App(篇幅过长,无法展示全部)

12.支付宝 App

……

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

秒鲨号所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈!本站将在三个工作日内改正。
(0)

大家都在看

  • 网络游戏排行榜前十(网络游戏排行榜前十名2022)

    近日,国外数据可视化机构MakeDataShine公布了最新的全球网络游戏流量份额Top 10,照榜单来看,LOL傲视群雄位列第一,而去年爆火的《绝地求生》仅排第五! 《英雄联盟》…

    2022年6月4日 专栏投稿
  • 怎么推广店铺(网店推广方式)

    淘宝店有很多推广的手段,当然每种推广的方式都有优势有缺点,不同的推广手段,使用的时间节奏也不同网店站外推广方式有哪些。 直通车:一般宝贝有基础销量之后,就可以推广,宝贝前期,中期,…

    2022年5月8日
  • 6s怎么样(iphone6s的屏幕怎么样)

    从2007年第一部iPhone发布至今,已过去14年时间,期间发布的多款机型都为奉为经典,但要是问各位那部iPhone最受果粉欢迎,可能一下子还答不上来,但统计数据可以为我们解答。…

    2022年3月25日
  • mp3歌曲怎么下载(电脑怎么往mp3里下载歌曲)

    因为现在歌曲存在版权的原因,下载歌曲都要花钱。下面教大家怎么免费在电脑上下载喜欢听的歌曲放在车里听。 第一步,用谷歌浏览器打开酷狗音乐的主页(我的360审查元素不好用所以这里用谷歌…

    2022年4月19日 专栏投稿
  • 古茗加盟费多少钱(开了一家古茗的真实感受)

    多位观众向我们反映,他们通过杭州一家公司加盟了一个叫做“快乐方程式”的奶茶品牌,但公司没有如约提供服务,奶茶店生意一直不好。 01 网上寻找加盟“一点点”“古茗” “快乐方程式”主…

    2022年6月8日 专栏投稿
  • seo优化例子分享,带你了解seo优化方法和技巧

    越简单的东西越愿意去做,也越容易坚持,大道至简嘛!如果某个项目你听得云里雾里的,我劝你还是放弃吧,时间是很珍贵的。但是简单的东西,你没有掌握方法和技巧,要么会变得复杂,要么会事倍功…

    2022年6月23日
  • 口红一支多少钱(口红为什么不能送一支)

    买它、买它、买它!口红“一哥”李佳琦魔鬼般的嘶吼,让他直播间的口红瞬间被清空,口红更是成为几乎每个女生化妆包里不可缺少的妆品。近日,《 2021年中国口红产品NPS用户体验研究报告…

    2022年5月29日
  • 电脑网速慢怎么解决(10秒钟让你电脑上网速度提升50%)

    一直以来,电脑卡慢都是90后这代“互联网原住民”最不能容忍的事情之一。导致电脑卡慢的原因有很多,可能是电脑硬件配置落伍,无力支撑层出不穷的新软件,也可能是电脑系统陈旧,在长时间的使…

    2022年5月9日
  • 喉咙上火怎么办(上火走嗓子怎么办)

    一、水果类 1.梨子。把水晶梨或普通的鸭梨洗干净,梨的一端平切去一块,再在切口处挖个洞,将蜂蜜或几块冰糖放进洞里,把切去的一块盖上,放在蒸锅里蒸,待蜂蜜或几块冰糖全部融化成水状,取…

    2022年4月15日
  • 唱歌怎么练(唱歌的六大基本功)

    声乐艺术是一门技术性和实用性很强的学科。仅根据理论知识和文学资料来学习习语是非常困难的。它主要是通过正确的语音训练和连续不断的歌声逐步实现的。每个歌手都必须通过发声练习的方式来掌握…

    2022年5月12日
品牌推广 在线咨询
返回顶部