我们通常会在一个项目工程 (Project) 里开发,该工程包含了 App 的所有业务。最开始我们会在一个 app 模块里实现业务功能,之后随着业务增加,代码量越来越多,编译时间越来越长。可能会抽取一些业务代码到新的模块,但是模块之间还是存在着错综复杂的依赖关系,因为有跳转页面、传递数据等需求,耦合度很高,这会导致以下痛点:
- 任何修改都要编译整个项目工程,经常编译一次需要非常久。项目越大,编ProcessOn译的时间越长。
- 业务模块耦合度很高,导致业务功能难以复用,即使把整个模块代码导入到别的项目工程也很难编译通过。
- 多人协作开发容易相互影响,代码合并经常冲突,使得协作开发的效率很低。
- 容易牵一发而动全身,导致维护成本变高。
这些代码耦合度高导致的问题都可以用组件化解决,本文会给大家介绍组件化的优势及其应用,以及更多的实战技巧。
组件化的优势
组件是业务单一的功能模块,每个组件都可以独立运行,也可以集成到其他组件中运行。组件化相对于前面说的模块化,耦合度更低,能有效解决上述所讲的痛点。
- 开发时可以独立编译调试一个业务模块,无需编译整个工程,提高编译效率。
- 业务模块的耦合度降低,代码更加独立,更容易复用。
- 每个业务组件都有相应的负责人,大家的开发互不打扰,代码质量的好坏也只会影响到自己的业务模块,减少代码冲突,提高协作开发效率。
- 如果业务功能有问题,通常只需要修改对应业务组件,维护成本更低。
组件化架构
以下是个人理解的组件化架构方案:
如何快速入手组件化
为了更好地帮助大家掌握组件化的知识,更好地理解组件化的核心底层原理,里面对相关知识点有详尽的说明,希望可以帮助大家学习提升。
由于篇幅原因,以下仅已截图展示部分内容,这份纯手写笔记已经被整理成了PDF文档,完整版PDF电子书,文末点击卡片即可免费领取!
《高级Android组件化强化实战(附源码)》资料详情
该资料分为三大块
- 第一章 Android组件化初识
- 第二章 Android组件化初探
- 第三章 大厂APP的架构演化
第一章 Android组件化初识目录
- 组件化和模块化的区别
- 组件化和插件化的区别
- 组件化开发的优势
- 业务逻辑层
- 组件化开发要遇到的问题
- 从组件化实战来解决问题
- Android组件化基础
- ……
第二章 Android组件化初探目录
- 组件化演示案例
概述
模块化和组件化
组件化Demo
组件application和library动态切换
…… - WanAndroid APP 组件化项目实战附demo
版本更新
效果图
主要功能
项目目录结构
主要开源框架
……
第三章 架构演化(大厂篇)
- 从智行 Android 项目看组件化架构实践
组件化调整的原因和目标
组件化架构调整的整体规划
组件化架构调整中遇到的一些问题
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
总结
开发是面向对象。我们找工作应该更多是面向面试。哪怕进大厂真的只是去宁螺丝,但你要进去得先学会面试的时候造飞机不是么?
作者13年java转Android开发,在小厂待过,也去过华为,OPPO等,去年四月份进了阿里一直到现在。等大厂待过也面试过很多人。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。
这里附上上述的技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。
相信它会给大家带来很多收获:
资料太多,全部展示会影响篇幅,暂时就先列举这些部分截图
当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中…(img-ib4hLlI2-1712903728731)]