热更新/热修复(调研的可能不全)
热更新
- 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。
- (简称RN)是
- 3、 Cordova
- 是贡献给
Apache
后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎。你可以把它们的关系想象成类似于Webkit和Google Chrome的关系 。
支持如下移动操作系统:iOS, Android,ubuntu phone os, Blackberry, Windows Phone, Palm WebOS, Bada 和 Symbian。
- 是贡献给
- 4、 weex
- 阿里巴巴 incubator-weex 。使用vue.js 支持html 、iOS 、Android。
- 阿里巴巴 incubator-weex 。使用vue.js 支持html 、iOS 、Android。
- 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来更新对应的函数
- 腾讯 平时开发用c#,需要热更新时用lua来更新对应的函数
- 4、 MonoCross
- 5、 CodePush
- 是由微软提供的热更新服务。热更新可以使你绕过AppStore的审核机制,直接修改已经上架的应用。对于国内用户,我们也推荐由本网站提供的 Pushy 热更新服务,相比CodePush来说,提供了全中文的文档和技术支持,服务器部署在国内速度更快,还提供了全自动的差量更新方式,大幅节约更新流量,欢迎朋友们试用和反馈意见
- 是由微软提供的热更新服务。热更新可以使你绕过AppStore的审核机制,直接修改已经上架的应用。对于国内用户,我们也推荐由本网站提供的 Pushy 热更新服务,相比CodePush来说,提供了全中文的文档和技术支持,服务器部署在国内速度更快,还提供了全自动的差量更新方式,大幅节约更新流量,欢迎朋友们试用和反馈意见
其他资料
slua 【Unity3D and mono 】
Android java
- 微信Tinker
- 阿里 Andfix
- 腾讯的内部方案KKFix
- Qzone的超级补丁
- 大众点评的nuwa
- 百度金融的rocooFix
- 饿了么的amigo
- 美团的robust
- … 还有很多。我主要搜集iOS的哈
如果你想自己实现轻量级 【 热修复 】
一、支持 OC 热修复 (HotFix)
- YPLiang19/Mango 接近原生语法
- wequick/Small 文档
- intMax/InstructionPatch json热修复
- DiSiOS/HotFixBug
JSPatch轻量提取 & Aspects
了解 Aspects
二、Swift 热修复