Core Data を使用していくつかの iOS アプリケーションを開発してきましたが、これは優れたフレームワークでした。ただし、複数のプラットフォーム間で多かれ少なかれオブジェクトを分散 (同期) しているという問題に遭遇しました。Web/データベース サーバー バックエンドとモバイル デバイス。
今までは問題にならなかったのですが、Core Data で使用されるデータ モデルの静的な性質に少し行き詰まりました。基本的に要求されているのは、サーバー上でフォームを作成し、デバイスに伝達できる動的フォーム システムです。次のようなセット数のテーブルでこれを実行する手法を認識しています。
- フォーム テーブル
- フィールド テーブル
- フォーム テーブルのインスタンス
- インスタンス値テーブル
すべてをリンクするだけです。しかし、私が疑問に思っているのは、より動的なオブジェクト グラフを可能にするコア データ (SQLite データベースと直接対話する上記の何か) に代わるシステムがあるかどうかです。実行時にスキーマを変更するためのオプションがあれば、標準の ORM でさえ良いでしょう。このルートをたどりたい主な理由は、(ローカルデバイスまたはサーバー上で) インスタンス値テーブルがエントリで爆発したくないという意味でのパフォーマンスのためです。
私の他のオプションは、iOS デバイスに静的スキーマ (オブジェクト グラフ) を配置し、サーバー側に変換レイヤーを配置して、正しいオブジェクトを取得し、プロパティを設定して正しいテーブルに保存することです。次に、デバイスが同期されると、逆のことが行われ、インスタンスに分割されます。これにより、サーバーのインスタンス値テーブルが肥大化するのを防ぐことができますが、デバイスでは依然として問題になる可能性があります。
任意の提案をいただければ幸いです。