android热插件,热更新,热修复,模块化

    应用层开发,有一段时间是谈native色变,把原生app开发者干了,用那个js来写应用,经过市场沉淀,人们也理智了。见过最过分的,两万元每月招RN工程师,做创业项目。真叫一个狠!

    去年火起来的hot技术现在商业应用企业应用中也逐步实施,当然每个技术在火起来的时候,基本都有很长一段时间点的成熟期。

于是乎,在这个开始阶段,就有点谈hot色变了。

    小时候,烧塑料,把塑料点着了,可以变化成任意的形状,而且可以粘到所有的东西上面,像电焊,把焊条融化成铁水,粘连互相独立的两块铁。

    运行在android虚拟机的devik(art)程序也是这样的,Java程序,有很多逻辑代码,在预编译编译阶段互联粘连在一起,各种业务逻辑的链接和lib的链接,各种变量和运算符的的编译优化;而还有一些这样的代码,是在运行时期形成连接的,这样的就可以认为是热操作了。很明显,在各种hot框架没有出来的时候,反射注解、反射调用和反射注入等这样的hot操作已经被广泛使用的生产中了。


    我个人是非常讨厌玩概念的,最近面试,被这种东西恶心地不行,好像学习好各种理论就能把飞机造出来一样,俗话说,空谈误国,实干兴邦。。即使在面试过程中,总是难免会有面试官和面试者的主观情节,但是,我们还是要谨记,实干兴邦的。

    不光在建设祖国的时候,技术理论中的一些词汇,也喜欢扯淡,实质上就那个熊样,非要穿着看似精致的外衣。


    从某种概念上说,提到的几个热更新热修复什么的,就干一件事情,替换。当替换的东西属于大块内容的时候,就是模块化了,当你去替换方法的时候,叫热更新,当你替换类的时候,加热插件,而且重某种意义上讲,所有的hot方案,都是一种热插件,因为hot方案为的就是在app之外去干这个事。就这么简单的理解。无论是替换一个类,还是一个方法,都是在干替换这件事请。。这里的替换,也算是几种hook操作,无论在什么代码等级上,这种侵入性操作,就是不可否认的hook。

    既然要做替换,承前启后是关键。借助对 MultiDex,InstantRun中得到的思考,和理解,大部分的hot框架,最后新的APK往往就是在这里找的灵感和实现,.当然,这里还有native的技术。



android热插件,热更新,热修复,模块化