美文网首页
IOS热补丁技术汇总 - 截止2016年12月

IOS热补丁技术汇总 - 截止2016年12月

作者: Fly晴天里Fly | 来源:发表于2016-12-27 18:24 被阅读186次

    发展进程

    开源方案只有JSPath。
    严重期待DynamicCocoa开源实现原生oc到js转换。


    OCS史上最疯狂的 iOS 动态化方案

    是否开放:NO
    开发团队:SNG - OCS团队**
    开放时间:**2016-12-29
    是否维护: yes
    应用方向: 补丁/ 功能插件化
    原理:
    OCS是全新设计的iOS动态化方案。我们定义了一套精确描述OC语义的字节码指令集(OCScript),开发了一套全自动编译器(OCSCompiler),实现了一个高性能的虚拟机(OCSVM)以及一个可以跟底层无缝对接的桥接器(OCSBridge)。我们首先使用OCS编译器把OC源码转化成OCS字节码,然后通过OCS桥接器实现OCS虚拟机与Native运行时的互联,最后使用OCS虚拟机对OCS字节码进行解释运算,并驱动Native运行时完成逻辑的执行,以此达到Native代码动态化的效果。OCS被用于iOS APP安装包减包、功能插件化、HotPatch等方方面面动态化需求。

    DynamicCocoa - 预计2017年初

    是否开放:yes
    开发团队:滴滴出行客户端App架构团队
    开放时间:预计2017年初
    是否维护: yes
    应用方向: 功能、补丁
    原理:
    实现JS和OC的互调;NA端内置引擎;
    Native代码,资源通过python工具
    打包成动态包bundle用于引擎解析;

    优势:
    使用原生技术栈;
    无需重写已有代码;
    语法支持完备性高;
    支持HotPatch

    主要缺陷:

    参考:
    滴滴 iOS 动态化方案 DynamicCocoa 的诞生与起航

    TPatch - 2015.10

    是否开放:NO
    开发团队:QQ空间终端开发团队
    开放时间:2015.10
    是否维护: yes
    应用方向: 补丁
    原理:
    实现JS和OC的互调;
    NA端内置引擎;
    技术栈JS脚本;

    优势:
    可实现方法粒度的线上代码替换,能修复一切代码引起的Bug

    主要缺陷:

    参考:
    TPatch动态补丁系统(iOS)

    JSPatch - 2015.5

    是否开放:yes
    开发团队:腾讯广研高级iOS开发@bang的个人项目
    开放时间:2015.5
    是否维护: yes
    应用方向: 补丁
    原理:
    实现JS和OC的互调;
    NA端内置引擎;
    技术栈JS脚本;

    优势:
    可实现方法粒度的线上代码替换,能修复一切代码引起的Bug

    主要缺陷:

    参考:
    http://www.jianshu.com/p/0cb81bf23d7a
    https://github.com/bang590/JSPatch

    相关文章

      网友评论

          本文标题:IOS热补丁技术汇总 - 截止2016年12月

          本文链接:https://www.haomeiwen.com/subject/eyrevttx.html