android - 如何实时更新客户端库逻辑?

标签 android ios mobile client-server

我已将移动 SDK (iOS/Android) 集成到许多不同的 native 应用程序中。我注意到一旦它转换市场就很难维护它。我正在寻找一个好的设计,让开发人员能够快速更新逻辑/修复错误。

与其经历开发 --> 测试 --> 发布 --> 采用阶段,不如有更好的方法来快速同步更新的逻辑。

比如我的v1.0有这个逻辑

int adder(int a, int b){
  return a+b
}

突然我想做一些输入验证并将逻辑更新为

int adder(int a, int b){
   return a+b+1 
}

按照当前的发布流程,我将不得不经历整个发布过程并等待所有应用程序采用我的新 v1.1 库(如果我幸运的话)。

我想到了几个点子,

  1. 远程配置,例如,Firebase 远程配置。但这只允许我调整参数,并不能真正改变任何逻辑。至多,通过有一个标志来打开和关闭它来关闭此功能。
  2. react native 。我不知道 React Native 在这种情况下会有什么帮助,因为我只是一个库,不涉及 UI。

还有其他想法吗?

最佳答案

我看到了 2 个解决方案,但没有一个是理想的:

  1. 远程处理:使用 REST API 来外部化您的多态操作。然后您可以随时更新 API,应用程序也会随之更新 - 缺点:如果手机处于离线状态,则无法工作。
  2. 像 Cordova 那样做。让 JavaScript 在隐藏的 Web View 中本地托管和运行,以某种方式获取结果(在正文中打印原始结果并从 native 代码中读取它)。您的应用程序在线时可以检查是否存在较新版本的脚本并下载更新以适应其行为。不如第一容易,但总是有效。

关于android - 如何实时更新客户端库逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41254859/

相关文章:

Android 7.0 和 7.1 getApplication() ClassCastException

Android:判断之前显示的外部Activity

ios - 3D AR 绘图应用程序在绘图时出现滞后和帧速度显着下降

objective-c - IndexOutOfBounds 循环遍历 subview ?

javascript - 为什么 Accordion 向上打开移动?

ios - 如何在 iOS 上使用图像而不是纯文本作为移动 safari 的链接?

java - 为什么我的 onPrepareOptionsMenu 没有被调用?

java - Android Websocket 客户端超时时间过长

ios - 在 iOS 上使用 CoreMedia.framework 解码视频

android - @font-face 不适用于移动设备(特别是 Android)