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

How to update client library logic in real time?

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

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

比如我的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 在这种情况下会有什么帮助,因为我只是一个图书馆,没有 UI 参与。

还有其他想法吗?

我看到 2 个解决方案,不过 none 是理想的:

  1. 远程处理:使用休息 API 来外部化您的多态操作。然后您可以随时更新 API,应用程序将随之更新 - 缺点:如果 phone 离线,则无法使用。
  2. 像科尔多瓦那样做。在隐藏的 webview 中本地托管和 运行 javascripts 以某种方式获得结果(在正文中打印结果并从本机代码中读取)。您的应用在线时可以检查是否存在更新版本的脚本并下载更新以调整其行为。不如第一名容易,但总能奏效。