1

32 人の顧客向けのモバイル アプリケーションを開発しようとしています。それらのそれぞれには、独自のフィールド、ロジック、および独自の Web サービスのセットがあります。(ロジックは、たとえば、ページにどのフィールドをいつ印刷するか)。フィールド以外のアプリケーションの残りの部分は、すべてのお客様にとってまったく同じです。

これで、同じアプリケーションの 12 の異なるバージョンを開発することができました。各バージョンは特定の顧客に設定されますが、これには非常に時間がかかり、賢明なことかどうかはわかりません。

Mob アプリのバージョンを 1 つだけ作成できる一般的なパターンについて考え始めました。私のサーバーでは、各顧客の Web サービスとモブ アプリの間にビジネス ロジック レイヤーを作成します。つまり、Mob アプリは私の Web サービスを呼び出します - 私の Web サービスは特定の顧客 Web サービスを呼び出し、いくつかのロジックを実行し、必要なデータを安定した形式で Mob アプリに返します。

つまり、

  1. モバイル アプリが Web サービスを呼び出す
  2. 私のWebサービスは顧客サービスを呼び出します
  3. 顧客の Web サービスが返されます
  4. 私のWebサービスはいくつかのロジックを実行して戻ります
  5. モバイルアプリがデータを取得し、画面に印刷します

つまり、実行時間が長くなり、数秒かかります。それが最善の方法ですか?アドバイスまたは代替の実装を提供してください。

4

1 に答える 1

0

この種の顧客依存の構成は、通常、構成 (およびいくつかのコード生成) によって管理されます。ここでは、いくつかの可能なアーキテクチャ ソリューションを以下に示します。

1 最初のタイプの静的構成

顧客に依存するすべてのものを構成ファイル (JSON、XML など) に入れ、必要に応じてロードして、アプリケーションの UI やその他の静的な側面を構成します。もちろん、この場合は静的データ(ファイル名など)しか管理できません。

2 2 番目のタイプの静的構成

顧客に依存するすべてのものを構成ファイル (JSON、XML) に入れ、それを使用して、インストールする直前にサーバー上に顧客に依存するアプリケーションを生成します。この種のコード生成は、Ruby-on-Rails やその他のフレームワークで主に使用されています。この場合、サーバー側アプリケーションのさまざまな側面をすべて管理できます。

3 動的構成

顧客に依存するすべてのものを構成ファイル (JSON、XML など) に入れてロードし、実行時にアプリケーション オブジェクトの動作を変更するために使用します。もちろん、この場合、コードはそれに応じて処理できる必要があります。

4 静的構成、クライアント側

顧客に依存するすべてのものを構成ファイル (JSON、XML など) に入れ、それを使用して、顧客ごとに異なるクライアント側 (モバイル) アプリケーションを生成します。この場合、サーバー側はすべてのアプリケーションで同じにすることも、同じにすることもできます。それはあなた次第です。もちろん、モバイル用の完全なアプリケーションを生成するには、この方法で使用できる作業用の「テンプレート」が必要です。

私の知る限り、解決策 2 がニーズに最も適しているはずです (DB スキーマ、UI コード、およびコントローラー ロジックを生成する必要があるため)。

于 2012-11-23T17:19:09.603 に答える