iOS热更新实现方式
来源:互联网 发布:算法设计 克林伯格 编辑:程序博客网 时间:2024/05/18 00:33
苹果静止热更新,可惜我的是企业APP...(当然有些热更新已经可以通过苹果审核了,比如JSPatch)
最近公司要添加热修复BUG,其实早之前本人就有简单实现过,刚好契合公司需求,在此总结一下iOS热更新实现方式
这个是我根据JSPatch写的一个Demo:https://github.com/tikeyc/TJSPatchDemo
一、JSPatch
http://www.jspatch.com/
https://github.com/bang590/JSPatch
热更新时,从服务器拉去js脚本。理论上可以修改和新建所有的模块,但是不建议这样做。建议用来做紧急的小需求和 修复严重的线上bug。
二、lua脚本
比如:wax。热更新时,从服务器拉去lua脚本,游戏开发经常用到。
三、Weex
http://weex.apache.org/cn/
https://github.com/apache/incubator-weex/
https://github.com/apache/incubator-weex/
跨平台,一套代码,iOS、Android都可以运行。用前端语法实现原生效果。比React Native更好用。weex基于vue.js,ReactNative使用React。ReactNative安装配置麻烦。 weex安装cli之后就可以使用。react模板JSX有一定的学习成本,vue和常用的web开发类似,模板是普通的html,数据绑定用mustache风格,样式直接使用css。
四、React Native
http://reactnative.cn/
不像Weex能一套代码多端运行,需要自己分别做修改。React Native 可以动态添加业务模块,但无法做到修改原生OC代码。JSPatch、lua 配合React Native可以让一个原生APP时刻处于可扩展可修改的状态。
五、Hybrid
像PhoneGap之类的框架, 基本概念和web差不多, 通过更新js/html来实现动态化,没有原生的效果流畅。
六、动态库
可以做demo用,真实使用的时候会被苹果禁止。因为 打包发到AppStore的ipa安装包 里的每个动态库 都有唯一的编码,iOS系统会进行验证,所以动态通过网络获取 新的动态库 也用不了。
七、rollout.io
https://rollout.io/
Rollout紧急修复线上bug。后端有相关的管理页面。因为是国外的网站,然后呢,要FQ才能使用。
八、DynamicCocoa
https://github.com/DynamicCocoa/DynamicCocoa
滴滴iOS的一个框架,还没开源已经有1K+star和许多issue了,与JSPatch比更加智能化,用OC在XCode中写完代码,用工具可以自动生成可以更新的js文件。
阅读全文
0 0
- iOS热更新实现方式
- Android热更新实现方式
- 如何实现iOS热更新
- 如何实现iOS热更新
- iOS热更新_无需发布新版本实现app更新
- iOS热更新
- iOS--jsPath热更新
- iOS- JSPatch 热更新
- iOS 热更新方案
- iOS 热更新方案
- Ionic3 Ios 热更新
- 【Lua】Unity中热更新的实现方式
- 热更新 - ClassLoader方式的实现以及基本原理
- iOS 热更新 无需发新版本实现app添加新功能
- iOS通过 JSPatch实现 app的热更新
- iOS热更新-JSPatch实现原理+Patch现场恢复
- iOS热更新-JSPatch实现原理+Patch现场恢复
- IOS热更新-JSPatch实现原理+Patch现场恢复
- LUA实现麻将胡牌判定
- 字符游戏——贪吃蛇
- NDK的基础使用(AS版)
- 让 Python 更加充分的使用 Sqlite3
- 【Python】多进程的进程池pool运行时报错:ValueError: Pool not running
- iOS热更新实现方式
- 移植块设备驱动和虚拟网卡驱动
- google浏览器cookie文件位置
- 令人智熄的智(zhi)能(zhang)蛇
- tensorflow官网进不去,因为它的地址改变了。
- NET中泛型的理解与简单代码示例
- jstack详解
- javascript中BOM和DOM篇
- Android Lint增量扫描实战纪要