从事Adroid开发几年来,逐渐对Android应用架构和发展趋势有一点点认识,总结为三个词:“组件化,模块化,插件化”。 下面以一张图为基础,分别从这个三个方面进行阐述。如有不足,还请指正。 组件化为什么需要组件化?Android的原生控件,基本上都没法直接拿来用,太丑了。另外一方面,原生控件在不同的Android版本上可能有不同风格,Holo,Material Design等。而从应用开发者角
转载
2023-07-17 22:42:59
80阅读
今天这篇比较简单,但是很重要,主要来说热修复、插件化、组件化这三种技术的区别,只有知道了每种技术的区别在看源码的时候,才知道为什么实现细节会有所不同。插件化和热修复的区别插件化的目的是为了解耦业务模块,将一个应用里面不同的业务模块都做成一个apk,当用户点击对应的业务模块的时候才去动态加载对应的apk,而没有apk又能够独立运行这样做的好处是:业务模块解耦、可以并行开发,按需加载内存占用更低。比如
什么是组件化?通俗易懂来讲就是,拆成多个module开发就是组件化。什么是插件化?App的部分功能模块在打包时并不以传统⽅式打包进apk⽂件中,⽽是以另⼀种形式⼆次封装进apk内部,或者放在⽹络上适时下载,在需要的时候动态对这些功能模块进⾏加载,称之为插件化。这些单独⼆次封装的功能模块apk,就称作插件,初始安装的apk称作宿主。插件化是组件化的更进⼀步推进。插件化基础之反射:反射的写法try {
转载
2023-08-16 15:55:13
85阅读
android组件化已经被广泛应用了,它的好处这里就不多说了,这里只是简单的做组件化的过程做一个简单的使用说明,以备之后使用时做为参考。 准备工作: 我们在使用组件化的时候,必然会涉及到组件之间的跳转与传值,这个我们要使用阿里的ARouter。我们先去https://github.com/alibaba/ARouter上了解一下ARouter,并查看一下它的最新版本 一、建立项目,我们新建一个mo
转载
2023-06-27 20:01:43
136阅读
为什么会需要组件化随着项目的发展,业务逻辑越来越复杂,代码量越来越多,会带来:各种业务模块耦合在一起,不利于维护,不利于新入职成员的阅读改动一个小功能,就要重新编译整个工程,编译时间较长代码量越来越大,不利于对代码的拆分对于测试,新功能无法单独测试 这样就需要使用组件化和插件化什么是组件化组件化:模块组件和通用组件,可分为业务组件和UI组件等等,比如下拉刷新可作为通用ui组件,供多个项目调用,登录
转载
2023-07-10 16:10:18
156阅读
LeakCanary 与 鹅场Matrix ResourceCanary对比分析 Android插件化已经出来好几年了,各大厂都出了各自方案,引用Wiki中VirtualAPK和其他开源框架的对比如下: VirtualAPKVirtualAPK是滴滴出行自研的一款优秀的插件化框架,主要有如下几个特性。功能完备支持几乎所有的Android特性;四大组件方面四大组件均不
转载
2023-06-28 14:58:30
139阅读
Android组件化、插件化讲解什么是组件化(通俗易懂)?什么是插件化(通俗易懂)?插件化基础之反射:反射的写法反射的⽬的关于DEX:插件化原理:动态加载问题⼀:未注册的组件(例如Activity)不能打开问题⼆:资源⽂件⽆法加载插件化有什么用? 什么是组件化(通俗易懂)?通俗易懂来讲就是,拆成多个module开发就是组件化。什么是插件化(通俗易懂)?App的部分功能模块在打包时并不以传统⽅式打
转载
2023-07-27 15:26:10
57阅读
项目发展到一定程度,就必须进行模块的拆分。模块化是一种指导理念,其核心思想就是分而治之、降低耦合。而在 Android 工程实践,目前有两种途径,一个是组件化,一个是插件化。组件化开发说起组件化少不了提起AS模块化的概念,其实两种方式的本质思想是一样的,都是为了代码重用和业务解耦。模块化模块(Module),Android Studio提出的概念,它是根据不同关注点将原项目中共享的部分或业务抽取出
转载
2023-07-11 18:30:15
63阅读
2、为什么要有组件化?Android项目中代码量达到一定程度,编译将是一件非常痛苦的事情,短则一两分钟,长则达到五六分钟。随着app业务的壮大,模块越来越多,代码量超10万是很正常的,这个时候我们会遇到以下问题:稍微改动一个模块的一点代码都要编译整个工程,耗时耗力公共资源、业务、模块混在一起耦合度太高不方便测试3、组件化开发的好处(优点):组件化开发可以有效降低代码模块的耦合度,使代码架构更加清晰
转载
2023-07-10 16:10:33
18阅读
上次,我们讲了MVC、MVP、MVVM,其实从狭义上来讲,Android的架构概念就在这儿,无论怎么变,都是加加减减一些边边角角的东西,不足在意。从本篇开始,打算从广义上探究一下移动架构的思想;包括现在仍然比较火热的模块化,组件化, 插件化等架构思想。话说在前面,本篇旨在说明当前主流架构的设计概念,让大家了解当前的架构形式,以及主要用了什么设计思想,什么设计思路,算是引导篇…一、模块化,组件化,插
转载
2023-07-10 14:58:32
66阅读
目录前言 一、模块化二、组件化1、概念2、使用3、版本管理4、模块间跳转5、资源命名问题三、插件化四、热修复1、概述2、流派3、原理五、总结前言 谈到热修复相信大家应该比较熟悉,因为它是目前比较重要的技术,平常面试中也是被问的比较多。插件化和热修复同出一门,俩者都属于动态更新,而模块化和组件化是基础。相信看完本篇的内容,对于这些模糊的概念应该会有一个比较清晰的了解。
转载
2023-07-10 14:58:41
141阅读
从事Adroid开发几年来,逐渐对Android应用架构和发展趋势有一点点认识,总结为三个词:“组件化,模块化,插件化”。下面以一张图为基础,分别从这个三个方面进行阐述。 组件化为什么需要组件化?Android的原生控件,基本上都没法直接拿来用,太丑了。另外一方面,原生控件在不同的Android版本上可能有不同风格,Holo,Material Design等。而从应用开发者角度来讲,他们需要一个拿
转载
2023-07-07 14:02:12
64阅读
一、组件化与插件化、二、插件化示例、三、插件化标准引入、
原创
2022-03-08 10:49:38
537阅读
组件化组件化是一个老生常谈的问题,其实并不新鲜组件化和模块化其实是一回事不同的人对于它的定义是不一样的定义:拆成多个 module 开发就是组件化以前的 Android 开发不是现在这样用 gradle 的,用的是 ant,做模块拆分 比较麻烦现在有了 gradle,拆模块非常方便了。不过模块化开发是在 gradle 到来之 前就有了的说下我的个人观点这里比较下前端开发前端的组件化和移动开发的组件
从事Adroid开发几年来,逐渐对Android应用架构和发展趋势有一点点认识,总结为三个词:“组件化,模块化,插件化”。
组件化
为什么需要组件化?Android的原生控件,基本上都没法直接拿来用,太丑了。另外一方面,原生控件在不同的Android版本上可能有不同风格,Holo,Material Design等。而从应用开发者角度来讲,他们需要一个拿来可
转载
2023-06-27 20:25:30
60阅读
1.组件化开发
组件化开发就是将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一成一个apk,这就是组件化开发。正常一个App中可以有多个module,但是一般只会有一个module是设置为application的,其他均设置为library,组件化开发就是要每个module都可以运
转载
2023-06-28 19:46:17
101阅读
模块化主要是重用,使用module,不强调单独编译,通信方式为intent路由,也可以用阿里路由框架。组件化主要是解藕,功能拆分,使用module,debug环境下apply plugin 切换为application,强调单独编译,通信方式为intent路由,也可以用阿里路由框架。模块化与组件化的差别在于颗粒度,模块相对于组件的粒度较大,组件分的更细。一个模块可以由很多个组件构成。插件化不同的业
模块化、组件化与插件化 项目发展到一定程度,随着人员的增多,代码越来越臃肿,这时候就必须进行模块化的拆分。在我看来,模块化是一种指导理念,其核心思想就是分而治之、降低耦合。而在Android工程中如何实施,目前有两种途径,也是两大流派,一个是组件化,一个是插件化。 提起组件化和插件化的区别,有一个很形象的图: 组件化和插件化对比 上面的图看上去比较清晰,其实容易导致一些误解,有下面几个小问题,
引言从工程领域来看,模块化、组件化、插件化三种技术都是指将复杂代码进行拆分,达到解偶分层、便于管理的目的。普遍意义上,将代码按照业务模块划分就是模块化,如果再进一步从模块化代码中抽出通用于所有App的组件,作为一个独立的module或者maven依赖(比如一些比较有名的第三方SDK),这个组件生成的过程就叫组件化。插件化则是指将App按一定规则拆分成几个若干个APK,除了主APK,其他APK均可以
转载
2023-07-27 10:58:47
96阅读
通常情况下,我们刚加入一个app工程时,只有一个组件,但随着业务模块逐渐壮大,代码量飞快增多,每个模块之间的耦合性也越来越高,导致我们稍微改动一个模块的一点代码都要编译整个工程,极不方便测试,维护起来也非常耗时耗力。于是,开发者便想到将应用分成若干 Module 模块,也就是**“组件化”**,让 每个业务模块互不依赖、互相解耦,在开发的时候可以安排不同的开发人员去开发不同的模块,开发完毕以后单模