| オフライン ネイティブ モバイル アプリケーションのアーキテクチャ | |
オフライン ネイティブモバイル アプリケーションのアーキテクチャでは、アプリケーションが動作する 2 種類の状態を検討する必要があります。アプリケーションが接続されていない場合と接続されている場合です。前者の場合、アプリケーションは、ネットワーク接続を使用せずに、データを処理し、データベースを操作できる必要があります。後者では、アプリケーションは、Web サービスを呼び出すことで、サーバーとの間でデータを同期できます。
接続の有無にかかわらず、アプリケーションの処理はすべてデバイスで実行され、ローカルデータベースが更新されます。接続が復元されたら、同期が実行されます。
オフライン ネイティブ モバイル アプリケーションは、ローカルコンポーネントとサーバーコンポーネントに分けることができます。
サーバーには、アプリケーションのバックエンド、データベース、およびデバイスとのデータ同期用のサービスレイヤーがあります。
デバイスには、サーバーデータの一部が含まれるデータベースと、ローカルで実行する必要があるすべてのロジックがあります。このロジックは、デバイスのネイティブコードで記述されています (iOS の場合は Objective-C/Swift、Android の場合は Java など)。アプリケーションには、UI レイアウトとユーザーイベントに必要なすべてのメタデータもあります。
両コンポーネント (デバイスとサーバー) は、REST サービスを使用して通信して、ローカルデータベースにデータを格納するために必要な同期を実行し、デバイスで実行された変更の内容をサーバーに送信します。
ネイティブ モバイル アプリケーションとサーバーの間の通信を同期といいます。
オフラインアプリケーションのアーキテクチャの詳細については、「オフライン アプリケーション アーキテクチャの概念の詳細」を参照してください。
|
|
|
|
|