3

我们在 Apple AppStore 和 Google Play Store 中启动了一个应用程序,现在我们需要启动一个更新。但是这个更新会改变服务器端的代码(即API)。

GeneXus 是否处理多个 API 版本?我的意思是,当我们启动 1.1 版本时,如何防止 1.0 版本中的应用程序中断?

4

3 回答 3

2

发布应用程序的新版本时有几个注意事项。

如果您需要两个版本同时可用,那么最好的选择是将新版本的服务发布到另一个 URL。比如说,你在https://example.com/myapp10有 1.0 版的服务,然后创建一个新的“虚拟目录” https://example.com/myapp11并将新版本指向那里。

如果数据库中也有更改,则需要特别考虑。如果您只有新表和/或属性(并且新属性可以为空),那么您无需执行任何其他操作。

但是,如果您删除或更改现有属性,则“旧”服务可能无法与新数据库模式一起使用。在这种情况下,您还需要保持数据库的两个版本,并考虑一些复制机制来保持同步。

您可能会发现这篇关于 Pesobook 应用程序部署过程的文章很有趣(仅限西班牙语)。

于 2015-02-27T17:48:53.197 回答
0

在这里,您将找到有关使用 Genexus 对 SD 应用程序进行版本控制的更多详细信息。

这篇文章解释了如何在知识库中做到这一点。

于 2015-03-03T12:26:44.213 回答
0

您还可以创建模块来管理您的服务版本。您可以将新的(或更新的 - 通过另存为)服务移动到新模块,而不是创建包含所有对象的新虚拟目录。

例子:

webapp/wsv1/rest/myservice
webapp/wsv2/rest/myservice
webapp/wsv3/rest/myservice

您必须复制“myservice”,但是不会复制 KB 的其他对象。

然后,您的应用程序将根据需要使用“myservice”版本。

我使用这种方式来提供一些不是用 GeneXus 制作的本机应用程序,但它们使用 GeneXus REST Web 服务。

希望它会有用:)

于 2015-07-25T00:25:22.607 回答