[解決済み] RestfulバックエンドのためのEmber.jsまたはBackbone.js [終了しました].
質問
ember.jsがbackbone.jsに対してよりヘビーウェイトなアプローチであることは既に知っています。両方についての記事をたくさん読みました。
私は自分自身に尋ねています、どちらのフレームワークがrails restバックエンドのためのフロントエンドとしてより簡単に動作するのか。backbone.jsについては、レストバックエンドを呼び出すためのさまざまなアプローチを見ました。emberについては、私は「データ」や「リソース」のようないくつかのより多くのライブラリを含める必要があるようです。なぜこのために2つのライブラリがあるのですか?
それで、何がより良い選択なのでしょうか?フロントエンドとバックエンドを接続する例もあまりありません。バックエンドがこれを呼び出すための良い実用的な例は何でしょうか。
URI: ../restapi/topics GET 認証情報: admin/secrect フォーマット: json
どのように解決するのですか?
一般的な意見とは異なり、Ember.js は Backbone.js の「よりヘビーウェイトなアプローチ」ではありません。これらは、まったく異なる最終製品をターゲットとする、異なる種類のツールなのです。Emberのスイートスポットは、ユーザーが長時間、おそらく一日中アプリケーションを開いたままにし、アプリケーションのビューまたは基礎データとの相互作用が、ビュー階層の深い変化を引き起こすようなアプリケーションです。Ember は Backbone よりもサイズが大きいですが
Expires
,
Cache-Control
これは最初の読み込み時のみ重要です。2 日間毎日使用すると、余分な 30k はデータ転送によって影が薄くなり、コンテンツに画像が含まれる場合はすぐにそうなります。
Backbone は、ビュー階層が比較的フラットで、ユーザーがアプリに頻繁にアクセスしないか、短時間しかアクセスしない傾向がある、状態の数が少ないアプリケーションに最適です。 DOM をバックアップするデータが捨てられ、両方の項目がメモリに収集されることを前提としているため、Backbone のコードは短くて甘いままになっています。 https://github.com/documentcloud/backbone/issues/231#issuecomment-4452400 Backboneのサイズは小さいので、短いインタラクションに適しています。
両フレームワークで書かれたアプリは、これらの用途を反映しています。Ember.jsのアプリには Squareのウェブダッシュボード , ゼンデスク (少なくともエージェント/チケットのインターフェイス)、および グルーポンのスケジューラ など、ユーザーが一日中作業するようなアプリケーションばかりです。
Backboneアプリケーションは、より大きな静的ページの小さなセクションであることが多い、短いまたはカジュアルなインタラクションに重点を置いています。 エアビーアンドビー , カーン・アカデミー , Foursquareの地図とリスト .
あなたは できます は、Ember がターゲットとする種類のアプリケーションを作るために Backbone を使用します (例. Rdio など)を作るためにBackboneを使用します。) メモリリークやゾンビイベントなどの問題を回避するために、担当するアプリケーションコードの量を増やす (個人的にはこの方法はお勧めしません)、または b) バックボーン.マリオネット または 尾骶骨 - これらのライブラリは、すべて似たような重複する機能を提供しようとするものが多く、おそらく、Ember を使用した場合よりも大きく、より多くのグルーコードを必要とする独自のカスタムフレームワークを組み立てることになるでしょう。
結局のところ、「どちらを使うか」という質問には2つの答えがあります。
まず、「一般的に、自分のキャリアにおいて、どちらを使うべきか」です。将来やりたい仕事に特化したツールを最終的に学ぶのと同じように、両方です。 BackboneとD3のどちらを使うべきかという質問はしないでしょう。
次に、"次のプロジェクトでは、具体的にどれを使えばいいのでしょうか"。プロジェクトによります。どちらもRailsサーバーと同じように簡単に通信できます。次のプロジェクトで、サーバによって生成されるページと、JavaScriptによって提供されるいわゆる「リッチな島々」とが混在する場合は、Backboneを使用します。次のプロジェクトで、すべてのインタラクションをブラウザ環境にプッシュする場合は、Emberを使用します。
関連
-
[解決済み] Rubyの文字列から日付への変換
-
[解決済み] どなたか、collection_selectをわかりやすく説明していただけませんか?
-
[解決済み] サーバーはRailsで既に稼働している
-
[解決済み] ActionController::RoutingError: 初期化されていない定数MicropostsController
-
[解決済み] リソースが既に存在する場合の POST に対する HTTP レスポンスコード
-
[解決済み] RESTful WebServiceにファイルや関連データをJSONで投稿する。
-
[解決済み] RESTとRESTfulの違いは何ですか?
-
[解決済み] 検索のためのRESTfulなURL設計
-
[解決済み] backbone.jsの目的は何ですか?
-
[解決済み】RESTful 認証
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Railsサーバーがポートはすでに使用されていると言う、そのプロセスを殺すにはどうすればよいですか?
-
[解決済み] nil:NilClass の未定義メソッド `each'... なぜでしょうか?
-
[解決済み] Railsです。NameError: 初期化されていない定数
-
[解決済み] どのようにrailsでラジオボタンを正しく使用するには?
-
[解決済み] Railsマイグレーションを利用してカラムをドロップする方法
-
[解決済み] railsアプリケーションでCookieのオーバーフロー?
-
[解決済み] railsでhidden fieldタグを使用する方法
-
[解決済み] Railsはsaveでモデル内の検証をスキップしますか?
-
[解決済み] Rails 4で、以前のバージョンのRailsでattr_accessibleを使用していた状況に遭遇した場合、Forbidden Attributes Errorが発生する。
-
[解決済み] 未初期化の定数 "コントローラ名"