面向发布(部署)编程—热修复、动态库与补丁
一、静态语言+动态库的形式
静态语言+动态库的形式使用的模式是面向com编程;
每一个动态库对应一个com组件;
动态库通过网络+配置文件的形式动态部署;
支持模块和功能级别的动态升级和替换;
对主体功能无法提供维护;
二、动态语言+动态库:
除了能够提供模块级别的替换和动态升级,还能够提供代码(函数、变量)级别的bug修改和维护;
能够对主体功能提供维护;修改主体功能的实现;
好的方面是:能够动态的提供升级和维护;
差的方面是:各类监听插件、非法功能入侵,从而对程序产生不好的影响;
iOS不支持动态库发布;
三、动态语言+解释器(引擎)+其它语言布丁
补丁包作为配置、更新说明和升级实现存在;
客户端获取道补丁包后,首先进行整体的修改和维护;
细节方面的东西动态动态语言的动态派发机制派发到布丁包执行;
解释器将js语言解释为native语言,使用native的动态特征完成功能;
四、解释语言+虚拟机
随时发布;
js、react native;
我思故我在