如何在 Android 或者 iOS 程序中动态更新部分代码逻辑,而不需要更新版本?

2014 年 10 月 23 日
 ticat
最近做项目遇到一个问题,部分代码逻辑可能需要经常改变。
改变的部分不大,但是为了保证一致性,这部分逻辑在服务器和客户端只能实现一份。
如果选择在客户端实现这份逻辑的话,应该怎么做呢?

如果在Android平台上,似乎可以用内置lua或者Python执行一个从服务上下载的脚本来实现逻辑的动态替换。但是这个方案似乎太重了,有没有轻量级一点却提供足够灵活性的方法呢?
iOS平台呢?
5180 次点击
所在节点    程序员
12 条回复
janxin
2014 年 10 月 23 日
1.这个方案不算重吧。要么你下个apk回来?
2.iOS目前同理。属于轻量级

最好不要相信客户端逻辑,能在服务端的就收回服务端。
janxin
2014 年 10 月 23 日
或者lua。python换成JavaScript。不用内置虚拟机了。这样不算重了吧
ityao
2014 年 10 月 23 日
嵌入web, 逻辑写在web里面,没啥逻辑的就放回容器里
likid
2014 年 10 月 23 日
html5
yrom
2014 年 10 月 23 日
byyhku
2014 年 10 月 23 日
考虑一下插件化,动态加载
zachgenius
2014 年 10 月 23 日
功能插件化好了
byyhku
2014 年 10 月 23 日
@yrom 握个爪子
icedx
2014 年 10 月 23 日
必然Lua QQ 旗下的手游几乎都是用Lua 来动态更新的
ticat
2014 年 10 月 23 日
@byyhku 是这样的,不过我对Android不够熟悉。功能插件化一般都是怎么实现的呢?
byyhku
2014 年 10 月 23 日
@ticat 主要利用 DexClassLoader 具体的请自行 Google
xionghengheng
2018 年 4 月 8 日
目前 ios 是不是把 lua 给禁止了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/140899

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX