3

Apple AppStore と Google Play ストアでアプリケーションをリリースしましたが、アップデートを開始する必要があります。ただし、この更新により、サーバー側のコード (つまり API) が変更されます。

GeneXus は複数の API バージョンを処理しますか? つまり、バージョン 1.1 を起動したときに、バージョン 1.0 のアプリが壊れないようにするにはどうすればよいでしょうか。

4

3 に答える 3

2

アプリケーションの新しいバージョンを公開する際には、いくつかの考慮事項があります。

両方のバージョンを同時に利用できるようにする必要がある場合は、新しいバージョンのサービスを別の URL に公開するのが最善の方法です。たとえば、バージョン 1.0 のサービスがhttps://example.com/myapp10にあり、新しい「仮想ディレクトリ」https://example.com/myapp11を作成し、新しいバージョンがそこを指すようにするとします。

データベースにも変更がある場合は、特別な考慮が必要です。新しいテーブルや属性しかない (そして新しい属性が null 可能である) 場合は、他に何もする必要はありません。

ただし、既存の属性を削除または変更すると、「古い」サービスが新しいデータベース スキーマで機能しない場合があります。その場合、データベースの両方のバージョンを保持し、同期を維持するためのレプリケーション メカニズムを検討する必要もあります。

Pesobook アプリケーションのデプロイ プロセスに関するこの記事は興味深いかもしれません(スペイン語のみ)。

于 2015-02-27T17:48:53.197 に答える
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 に答える