2016-12-21 13 views
0

私は多くの異なるネイティブアプリに統合されたモバイルSDK(iOS/Android)を持っています。一度気づいたことがあっても、それが市場にリリースされたら、それを維持することは非常に難しいです。私は、開発者がロジックを修正してバグを素早く修正できるようにする良い設計を探しています。クライアントライブラリロジックをリアルタイムで更新するにはどうすればいいですか?

dev - > test - > release - > adoption periodの代わりに、更新されたロジックをすばやく同期するためのより良い方法が必要です。

私はいくつかの入力の検証を行い、現在のリリースの流れ以下

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

にロジックを更新したい

例えば、私のv1.0はこのロジックを持っている場合

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

と、突然、私はでしょうすべてのアプリが新しいv1.1ライブラリ(私が運が良ければ)を採用するのを待つ必要があります。私はいくつかのアイデアを考え

  1. リモート設定、例えば、Firebaseリモート設定のような。しかし、これはパラメータを調整するだけで、実際にはロジックを変更することはできません。ほとんどの場合、この機能をオンまたはオフにするフラグを設定してこの機能を閉じます。
  2. 反応しません。私はライブラリーだけでUIは関与していないので、このケースでどのようにネイティブの反応が助けになるのか分かりません。

他のアイデアはありますか?

+0

それはコルドバ/イオン/ phonegapベースのアプリですか? – Piou

+0

これらはすべてネイティブプラットフォームです。 –

答えて

1

私は2つのソリューションを参照して、どれもかかわらず、理想的ではありません:あなたの多型の操作を外部化するためのREST APIを使用します。

  1. は、治療のリモートしてください。あなたはいつでもAPIを更新することができ、アプリケーションがフォローされます。 - CONS:電話がオフラインの場合は動作しません。
  2. コードワのようになります。結果を何とか取得するために、隠されたwebviewでホストされ、ローカルに実行されるjavascriptを持っています(結果を本体に出力し、ネイティブコードから読み込みます)。あなたのアプリは、オンラインでスクリプトの新しいバージョンが存在するかどうかをチェックし、アップデートをダウンロードしてその動作に適応させることができます。ナンバー1よりも容易ではありませんが、常に機能します。
+0

私は最初のオプションを本当に理解していませんが、外部化するために残りのAPIを使用することはどういう意味ですか?フェッチする方法は、多態的なJavaロジックと言うと、実行時にコンパイルされますか? –

+0

例を貼り付けるエンドポイント「加算」があるとしましょう。アプリケーションが追加を実行するためにエンドポイントを呼び出している場合、この動作を変更するには、エンドポイントコードを変更することによって、新しいコードを呼び出すことによってアプリケーションが自動的に新しいロジックに従います。 – Piou

+0

私はこの種の質問に答えると思います。隠されたWebviewはプライバシーの懸念を引き起こすかもしれません。 Webviewでjavacスクリプトが実行されていることを考えると、これはとても恐ろしいことがあります。 –

関連する問題