ios热更新和android hofix

http://mp.weixin.qq.com/s?__biz=MzAwOTE0ODEwMQ==&mid=2650686816&idx=1&sn=906f53c85d67d5e61e8fdcdfb9abd6ea&chksm=836ee6cab4196fdcaae50205e707b20c6fb18f7bf2589c8085d0064575dc5f8db752c9253c1e&mpshare=1&scene=23&srcid=0413RfXmlpmRIxNOzEMMDO2o#rdios:
https://jspatch.com/

https://github.com/bang590/JSPatch

http://blog.csdn.net/u013602835/article/details/52777852

现在比较流行的热修复技术:

一、使用JSPatch进行热修复。

  JSPatch能做到通过JS调用和改写OC方法。最根本的原因是 Objective-C 是动态语言,OC上所有方法的调用/类的生成都通过 Objective-C Runtime 在运行时进行,我们可以通过类名和方法名反射得到相应的类和方法,也可以替换某个类的方法为新的实现,还可以新注册一个类,为类添加方法。JSPatch 的原理就是:JS传递字符串给OC,OC通过 Runtime 接口调用和替换OC方法。

  看了一下JSPatch的源码,主要就是通过OC的runtime原理,使用JS语句实现动态更改OC源码的目的,类似C++中的多态性。

  JSPathch是一个开源项目,在github上,下载地址:JSPatch下载地址。里边有相关文档,简单易懂。另外。这里有一篇JSPatch作者写的实现原理,解释的还是蛮不错的,博客地址:JSPatch实现原理。

  同时在这里给大家一个比较好的网站 ,OC转JS工具,这是一个OC转JS的一个工具网站。

  具体实现参考博客:http://www.jianshu.com/p/8cec322531ae

二、使用ReactNative实现热修复。

  ReactNative是facebook提供的一种开源框架,使用JS语法进行跨平台开发,深受开发者青睐。直接使用ReactNative实现热修复的好像不是很多,比较流行的是使用微软的CodePush。

这个是CodePush 的官方网站地址,这个是CodePushGitHut地址。

具体实现参考博客:http://blog.csdn.net/u011151353/article/details/50688681

三、使用Lua+Wax打补丁的方案实现热修复。

  使用Lua+Wax打补丁的方案,App需要集成Lua解释器和Wax框架(接近1M)。不过waxPatch对Block不太完善,多线程补丁也可能有问题,Wax也已经两年没人维护了,而且Lua调试起来也不方便。

lua cocos2dx

=====================
android hotfix

http://blog.csdn.net/lmj623565791/article/details/49883661

https://github.com/search?o=desc&q=hotfix&s=stars&type=Repositories&utf8=%E2%9C%93

https://github.com/Tencent/tinker
https://github.com/alibaba/AndFix

https://github.com/dodola/HotFix
https://github.com/jasonross/Nuwa

=========================
App的插件框架
360使用:
https://github.com/DroidPluginTeam/DroidPlugin

android插件框架,免安装运行插件APK ,支持独立插件和非独立插件
https://github.com/limpoxe/Android-Plugin-Framework

http://blog.csdn.net/hudashi/article/details/50921606
规模大了后可能会用到.

atlas:
http://www.chinaz.com/biz/2017/0313/672270.shtml
据悉,Atlas特别适用于大规模团队的协同开发。通过提供组件化、动态性、解耦化的支持,Atlas能够实现每个业务在开发阶段独立编译、独立调试、独立运行,最后再以一个组件的形式集成到客户端中,每个业务之间并行开发互不影响。此外,还具备客户端动态发版和快速修复的能力。

目前,手机淘宝 20 个协作团队开发的60+业务组件,数百万行代码都运行在Atlas上。快速迭代让应用真正实现了随时更新,有效降低了版本频繁发布给用户带来的困扰。
https://github.com/alibaba/atlas

【揭秘】途牛插件框架详解
http://mp.weixin.qq.com/s?__biz=MzAwOTE0ODEwMQ==&mid=2650686816&idx=1&sn=906f53c85d67d5e61e8fdcdfb9abd6ea&chksm=836ee6cab4196fdcaae50205e707b20c6fb18f7bf2589c8085d0064575dc5f8db752c9253c1e&mpshare=1&scene=23&srcid=0413RfXmlpmRIxNOzEMMDO2o#rd

携程Android App插件化和动态加载实践
http://mp.weixin.qq.com/s?__biz=MzAwMTcwNTE0NA==&mid=400217391&idx=1&sn=86181541ce0164156dfab135ed99bb5c&mpshare=1&scene=23&srcid=1104ZmIyIAnR08bfo9jDzuT2#rd
http://mp.weixin.qq.com/s?__biz=MzAwMTcwNTE0NA==&mid=400326703&idx=1&sn=23f689e24a2a37853fbe601ce9ef800b&mpshare=1&scene=23&srcid=0413dmEXqcSH0n7xX2WkdOj1#rd

http://mp.weixin.qq.com/s?__biz=MzI1MTA1MzM2Nw==&mid=400118620&idx=1&sn=b4fdd5055731290eef12ad0d17f39d4a&mpshare=1&scene=23&srcid=0413KBaq9SdPNKdAvI7ILfvB#wechat_redirect

https://github.com/CtripMobile/DynamicAPK

以前折分web留下的思维习惯,其实app用得比较少。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值