热更新方案

热更新/热修复(调研的可能不全)

热更新

  • 1、 Flutter
    • 由于渲染的基础(gdi)是自己实现的,所以实现跨平台、性能优化、摆脱平台约束方面的裕度更大。从实际体验来看, Flutter 的性能比 RN 要高不少。优点可能是性能,但由于它完全自定义了一套 ui 系统,这也是它的限制。
    • 目前只有dev时进行hot reload。release后是不支持这种特性的。期待热更新功能。
  • 2、 React-native
    • (简称RN)是Facebook于2015年4月开源
      支持如下移动操作系统:iOS, Android,ubuntu phone os, Blackberry, Windows Phone(UWP), Palm WebOS, Bada 和 Symbian… 。
    • 热更新可使用code-push   中文-搭建分发服务器 code-push

  • 3、 Cordova
    • 是贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎。你可以把它们的关系想象成类似于Webkit和Google Chrome的关系 。
      支持如下移动操作系统:iOS, Android,ubuntu phone os, Blackberry, Windows Phone, Palm WebOS, Bada 和 Symbian。

  • 4、 weex
  • 5、动态库 可以做demo用,真实使用的时候会被苹果禁止。


第三方,有的需要付费(不多介绍了)

  • 1、 Xamarin microsoft
  • 2、 APICloud 是用Web语言去开发iOS和Android应用, 国内产品【柚子(北京)移动技术有限公司】。
  • 3、 Phonegap 【需要翻墙】 原本由Nitobi公司开发,现在由Adobe拥有。
  • 4、 Bizness Apps 【需要翻墙】 目前支持iOS(iPhone、 iPad)及Android平台,收费为每个平台39美元。【Businesses Made Easy】公司拥有。
  • 5、 Intel XDK 前身是AppMobi XDK,是一款帮助开发者使用HTML5开发移动及Web应用的跨平台开发工具,intel公司拥有。


未开放

  • 1、 DynamicCocoa 滴滴 编译阶段入手,通过 clang 把 OC 代码编译成自己定制的 JS 格式,再动态下发去执行,做到原生开发,动态运行,主打动态添加功能,当然顺便把修 bug 也给支持了。准备在2017年初开源,但至今没有消息。
  • 2、TPatch
  • 3、OCScript
  • 4、Hybrid 主流的Android平台包括PhoneGap,AppCan,appMobi,Titanium等, iOS 类似的 WebViewJavascriptBridge


停止更新

  • 1、 ulua C#
  • 2、 WaxPatch 或者 mmin18(个人)
  • 3、 wax 后被Alibaba收购, 使用 Lua, 支持iOS
    • 首先是 wax 已经多年不维护了,导致不支持一些 block/64 位等新特性,此外当时 wax 还有文档不足,测试不足,线程不安全,难以调试等。




热修复

  • 1、 JSPatch
  • 2、 rollout
    • (需要翻墙)国外一个热补丁服务叫 rollout (http://rollout.io)。 它是一个服务平台,底层也是用 JS 调用和替换 OC 方法去实时修复 bug,不过它不是开源的,只能在这个平台上用,另外它的 JS 写法是比较复杂的,导致它不得不在平台上做一些便捷的功能,把一些常用的操作封装起来,减少使用者写代码。来源文章:https://www.cnblogs.com/bugly/p/5740812.html
  • 3、 xLua
    • 腾讯 平时开发用c#,需要热更新时用lua来更新对应的函数

  • 4、 MonoCross

  • 5、 CodePush
    • 是由微软提供的热更新服务。热更新可以使你绕过AppStore的审核机制,直接修改已经上架的应用。对于国内用户,我们也推荐由本网站提供的 Pushy 热更新服务,相比CodePush来说,提供了全中文的文档和技术支持,服务器部署在国内速度更快,还提供了全自动的差量更新方式,大幅节约更新流量,欢迎朋友们试用和反馈意见





其他资料

slua 【Unity3D and mono 】


Android java

  • 微信Tinker
  • 阿里 Andfix
  • 腾讯的内部方案KKFix
  • Qzone的超级补丁
  • 大众点评的nuwa
  • 百度金融的rocooFix
  • 饿了么的amigo
  • 美团的robust
  • … 还有很多。我主要搜集iOS的哈

如果你想自己实现轻量级 【 热修复 】

一、支持 OC 热修复 (HotFix)

JSPatch轻量提取 & Aspects

了解 Aspects

二、Swift 热修复




坚持原创技术分享,您的支持将鼓励我继续创作!