私は今レルムを発見しました。私は、iOSアプリ、Macアプリ、バックエンドがあるアーキテクチャ設計を考えています。 iOSアプリケーションには、バックエンドの領域に接続された領域(Realm Mobile Platform)があります。 iOSアプリに別のレルム(レルムモバイルデータベース)があります。バックエンドには、ファイルを格納するデータベースがあります。2つの領域を持つことはできますか?
ここに私が考えているものがあります。
iOSアプリは、サードパーティAPIからJSONを取得し、それを解析し、それをRealm(バックエンドに接続されているもの)のものと比較します。レルムにないものは、Macアプリケーションに送信されます。Macアプリケーションは、外部ソースから対応するファイルをダウンロードし、それらのファイルをデータベースにアップロードします。その後、Mac AppはiOSアプリにアラートを出し、そのアプリをRealm(バックエンドに接続されているもの)に配置します。これは「バックエンドの更新」プロセスです。
ここで、iOSアプリケーションは両方のレルムを一緒に比較し、ローカルレルムにないものを取得します。次に、それらのレルムオブジェクト内のリンクを使用してデータベースからファイルをダウンロードします。ダウンロードされると、それらのオブジェクトがローカルのRealmストアに追加されます。これは「バックエンドとのデバイスの同期」プロセスです。
両方のレルムは、同じ種類のオブジェクトを格納します。エクストラ
:
理想的には、デバイスがデータベースと完全に同期する必要がない、そしてその最も可能性の高いバックエンドのレルムおよびデータベースファイルのサブセットを持つことになります。
1つのレルムプラットフォームと1つのレルムデータベースの組み合わせが可能ですか?
iOSアプリ、Macアプリ、バックエンド間で同じ領域を共有するだけの理由はありますか? – ast
こんにちは@ast、それは持っていないことを知ることができるようにデルタを保つので、ダウンロードするものが分かっています。 –
ファイルがダウンロードされたかどうかを追跡するためにオブジェクトにプロパティを追加してから、Realmが同期を処理するようにすることは考えられますか?オーバーヘッドを大幅に削減する必要があります。 – ast