热更新时,从服务器拉去js脚本。理论上可以修改和新建所有的模块,但是不建议这样做。建议 用来做紧急的小需求和 修复严重的线上bug。 比如: wax。热更新时,从服务器拉去lua脚本。游戏开发经常用到。 跨平台,一套代码,iOS、Android都可以运行。用前端语法实现原生效果。比React Native更好用。 不像Weex能一套代码多端运行,需要自己分别做修改。React Native 可以动态添加业务模块,但无法做到修改原生OC代码。JSPatch、lua 配合React Native可以让一个原生APP时刻处于可扩展可修改的状态。 像PhoneGap之类的框架, 基本概念和web差不多, 通过更新js/html来实现动态化,没有原生的效果流畅。 可以做demo用,真实使用的时候会被苹果禁止。因为每个动态库打包发到AppStore的ipa安装包的时候都有唯一的编码,iOS系统会进行验证,所以动态通过网络获取 新的动态库 也用不了。 Rollout紧急修复线上bug。后端有相关的管理页面。要翻墙才能使用。 滴滴iOS的一个框架,准备在2017年初开源,与JSPatch比更加智能化,用OC在XCode中写完代码,用工具可以自动生成可以更新的js文件。一、JSPatch
二、lua脚本
三、Weex
四、React Native
五、Hybrid
六、动态库
七、rollout.io
八、DynamicCocoa