iOS开发-服务器动态控制客户端方案浅解析

本文介绍了App动态更新的两种主要技术方案:HTML5和解析渲染。HTML5适用于非核心界面的快速迭代,而解析渲染则分为低端版、中端版和高端版,包括简单的控制字段解析、利用脚本动态加载代码以及Facebook的ReactNative等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    受限于AppStore的审核制度,版本提交后审核后需要等待一段审核时间才能上线,于是聪明的开发者就想出了一些手段,可以避开审核,动态更新客户端。
目前,已经被使用的技术方案有两大派:

1.HTML5
2.解析渲染

    先说HTML5,其实这项功能在开发者中使用还是比较多的,目前主流的特别动态的页面,大部分还是由HTML5实现完成,比如淘宝的一些介绍页面、一些不能明确当前样式的界面等等。也有类似PhoneGap这样的框架直接把HTML5做的应用打包成原生应用,虽然比较灵活,可惜体验上相比原生确实差了不少。

    再说解析渲染,关于这个还要分低端版、中端版和高端版。

  • 低端版:简单的特定的控制字段解析,比如控制一个按钮是否显示,控制一个功能是否开放等等,这种做法需要提前客户端和服务端双方做好约定,对得上号才能正常工作。
    如果要加新的控制,对不起请下一版本吧。不过应对小范围的控制,还是可以的,也是目前用的比较多的方式。

  • 中端版:利用脚本动态加载代码,达到创建和改变类功能和属性的目的。代表有大众点评基于Wax修改的WaxPatch框架,利用Lua脚本+runtime方法实现,不过由于语言和功能的问题,貌似并没有大范围普及开,不过各位小范围打补丁的时候可以尝试。

  • 高端版:近期Facebook又开始折腾了,开源了React Native,基于JS做的一次比较大的尝试,和普通的HTML5的区别在于:Facebook通过自己强大的开发团队,做了一套JS->原生控件的映射,要注意并不是性能比较弱的WebView,这点上不得不佩服他们,目前该组件刚刚开源不久,具体效果有待验证,但是我相信未来会有它一席之地。

本文仅仅是抛砖引玉,欢迎更多的人留言拍砖讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值