乐趣区

关于android:如何维护一个巨大的Android项目呢阿里大佬分享的高级Android-组件化实战你确定不看看

背景

当一个工程越来越大,性能越来越简单之后,成员越来越多的状况下,如何保护一个微小的安卓我的项目呢?此过程中,你是否有过以下懊恼?

我的项目模块多且简单,编译一次要 5 分钟甚至 10 分钟?太慢不能忍?
改了一行代码 / 只调了一点 UI,就要 run 整个我的项目,再忍耐一次 10 分钟?
合代码常常发生冲突?很烦?
被人偷偷改了本人模块的代码?很不爽?
做一个需要,发现还要去改变很多他人模块的代码?
别的模块已实现的相似性能,本人要用只能去复制一份代码再改改?
“这个不是我负责的,我不论”,代码责任范畴不明确?
只做了一个模块的性能,但改变点很多,所以要残缺回归测试?
做了个需要,但人不知; 鬼不觉导致其余模块呈现 bug?
如果有这些懊恼,阐明你的我的项目须要进行组件化 了。

艰深的讲组件化就是基于可重用的目标,将一个大的软件系统依照拆散关注点的模式,拆分成多个独立的组件。组件的呈现是为了解决全局工程中有很多反复代码的问题,是为了复用,而且划分力度是绝对较小的模块。组件化的另一个目标是为理解耦,把零碎拆分成多个组件,拆散组件边界和责任,便于独立降级和保护。

组件化开发带来的长处:

  • 业务模块离开,解耦的同时也升高了我的项目的复杂度,构造十分清晰。
  • 开发调试时不须要对整个我的项目进行编译,每个模块可独立编译,进步了编译速度。
  • 多人单干时能够只关注本人的业务模块,把某一业务当成繁多我的项目来开发,能够晋升开发,测试效率。
  • 能够灵便的对业务模块进行组装和拆分。
  • 防止反复造轮子,节俭开发保护老本;

为什么当初很重视组件化这个问题呢?

举个例子来说,一个我的项目须要好几个业务代码,如果某一个业务代码出了问题,则须要在好几个当中去寻找,工程师须要理解各个业务的性能,防止代码的改变而影响其它的业务性能,势必无形中减少了我的项目保护的老本。如果让他们都绝对独立,咱们只须要保护好每个组件,须要用到该组件的性能时,一建援用集成就能够了。

近年来,为什么这么多团队要进行组件化实际呢?组件化到底能给咱们的工程、代码带来什么益处?

组件化的益处:

  • 放慢编译速度
    每个业务性能都是一个独自的工程,可独立编译运行,拆分后代码量较少,编译天然变快。
  • 进步合作效率
    解耦使得组件之间彼此互不打搅,组件外部代码相关性极高。团队中每个人有本人的责任组件,不会影响其余组件;升高团队成员相熟我的项目的老本,只需相熟责任组件即可;对测试来说,只需重点测试改变的组件,而不是全盘回归测试。
  • 性能重用
    组件相似咱们援用的第三方库,只需保护好每个组件,一键援用集成即可。业务组件可上可下,灵便多变;而根底组件,为新业务随时集成提供了根底,缩小反复开发和保护工作量。

怎么学呢?

这里给大家分享一份全网最全的《高级 Android 组件化强化实战》手册,手册分为三个大章节,Android 组件化初识,Android 组件化初探 和 架构演变(大厂篇)

第一章 Android 组件化初识

  • 组件化和模块化的区别
  • 组件化和插件化的区别
  • 组件化开发的劣势
  • 业务逻辑层
  • 组件化开发要遇到的问题
  • 从组件化实战来解决问题
  • Android 组件化根底

第二章 Android 组件化初探

  • 组件化演示案例
  • 概述
  • 模块化和组件化
  • 组件化 Demo
  • 组件 application 和 library 动静切换
  • WanAndroid APP 组件化我的项目实战(附 demo)
  • 简介
  • 版本更新
  • 效果图
  • 次要性能
  • 我的项目目录构造
  • 次要开源框架

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

组件化作为 Android 客户端技术的一个重要分支,近年来始终是业界积极探索和实际的方向。每个大厂外部的各个 Android 开发团队也在尝试和实际不同的组件化计划,并且在组件化通信框架上也有很多高质量的产出。

从智行 Android 我的项目看组件化架构实际

  • 组件化调整的起因和指标
  • 组件化架构调整的整体规划
  • 组件化架构调整中遇到的一些问题
  • 组件化架构的实际成绩

失去 App

  • Android 彻底组件化 demo 公布
  • Android 彻底组件化—代码和资源隔离
  • 组件化:代码隔离也难不倒组件的按序初始化


微信 App

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

蘑菇街 App

  • 实现形式
  • 组件生命周期治理
  • 壳工程
  • 遇到的问题
  • 继续集成
  • 周边设施

爱奇艺 App

  • 对于组件化
  • 基于 Service 的 IPC 通信
  • 组件化跨过程通信的外围诉求
  • Andromeda
  • 架构剖析

美团 App

  • 外卖客户端容器化架构的演进
  • 美团外卖容器化架构全景图
  • 外卖跨端容器建设
  • 外卖页面容器建设
  • 外卖容器化架构的掂量指标
  • 外卖容器化架构的监控运维
  • 外卖容器化架构的公布能力

携程 App

  • 产品
  • 无线后端服务架构
  • App 工程架构
  • Native 的插件化和 HotFix

支付宝 App

  • Quinox 简介
  • Bundle 介绍
  • 资源管理
  • 容器化

敌人们如果须要这份完整版的《高级 Android 组件化强化实战》,点击这里查看全副

退出移动版