2

Sinatra アプリケーションの 1 つを Ember.js に切り替えることを検討しています。現在の設定では、CRUD 操作用の RESTful ルートとプッシュ通知用の Websockets とともに、サーバー側のハンドルバー レンダリングを使用しています。

ただし、私の主な懸念は、モデル コードの重複です。

Ember Data は、永続化レイヤー (JSON API など) からモデルを読み込み、それらのモデルを更新して、変更を保存するためのライブラリです。ActiveRecord のようなサーバー側の ORM に見られる機能の多くを提供しますが、ブラウザー内の JavaScript の独自の環境向けに特別に設計されています。

私が理解していることから、Ember.js を使用するには、Javascript でモデルを定義する必要があるため、既にサーバー側にある多くの Mongo モデルを複製します。これは正しいです?Ember.js を Ruby バックエンドと組み合わせて使用​​する場合、モデル内のコードの重複をどのように軽減できますか?

4

1 に答える 1

3

おそらく、いくつかのタスクをクライアント側で行うこととサーバー側で行うことの間で分割したいと思うでしょう。

Ember Data モデルがある場合、Ember での作業が容易になるため、モデル自体は複製されます。ただし、独自のモデルをオンザフライで構築し、すべての API 呼び出しを行うこともできます (おそらくお勧めしません)。これを行うにmodelは、ルートのフック内で API 呼び出しを実行します。

ただし、Ember Data モデルのセットアップが完了したら、ロジックをかなりシンプルに保ち、サーバーでより複雑なタスクを実行できます。ただし、これはアプリケーション固有のニーズに大きく依存します。

于 2013-03-01T01:55:08.413 に答える