8

私は backbone.js が初めてで、いくつかのチュートリアルを進めています。良さそうなものをいくつか見つけましたが、それらの実装方法にはいくつかの矛盾があるため、ベスト プラクティスに関する少しのガイダンスを探しています。

私が学んでいるチュートリアルは次のとおりです。

私の質問は次のとおりです。

  1. 最初の tut は Backbone.Controller を使用しますが、Backbone.Collection は使用しません。2番目はその逆です。MVC のバックボーン スピンの「C」のベスト プラクティスはどれですか?
  2. 最初の tut はモデルで URL を定義しますが、2 番目はコレクションでそれを定義します。どちらがより良い習慣ですか?
  3. 2 番目の tut は Backbone.Router を使用しますが、最初の tut は使用しません。ベストプラクティスはどれですか?

あるいは、誰かがベスト プラクティスに従ったより良い導入チュートリアルを提案できる場合は、そこから学んでいきます。残念なことに、これら 2 つの間に矛盾があるため、最初から悪い習慣を学んでいる可能性があるのではないかと心配しています。

前もって感謝します。

4

3 に答える 3

3

Backbone.Controller は、昨年Backbone.Router に名前が変更されました。古いチュートリアルを読んでいたと思います。

BackboneTutorials.comは、始めるための適切なチュートリアルです。

学習しながら小さなアプリを作成すると、Backbone が何をしてくれるかがわかります。

Backbone を学習する最善の方法は、注釈付きのソース コードを調べることです。すべての行はコメントされ、説明されています。

アプリをビルドするときは、縮小版ではなく開発版を使用してください。これはデバッグに役立ちます。

本を読むのが好きなら、無料の電子書籍であるAddy Osmani のBackbone Fundamentalsをチェックしてください。この本は素晴らしいですが、かなり冗長です。参考にしていただけます。

リソースの決定的なリストについては、Quora でこの質問を参照してください。

'V' とは何か、'C' とは何か、MVC のバックボーンのスピンについてはあまり気にしないでください。このフレームワークは、サーバーと対話するコードとコア クライアント ロジックを実行するコードを分離する優れた機能を果たします。DOM 要素のテンプレート化と更新はあなたに任されています。そういう意味ではかなりミニマルです。バックボーンは、さまざまなパーツが相互に作用するイベントを提供します。

于 2012-11-02T21:28:27.690 に答える
1

私は経験から答えます:

Q: 2 番目はその逆です。MVC のバックボーン スピンの「C」のベスト プラクティスはどれですか?

A:Controller現在のバックボーンにはありませんhttp://backbonejs.org/ - "C" はビュー (ほとんどの場合) またはルーター (下記参照) で発生します。

Q:最初の tut はモデルで URL を定義していますが、2 番目はコレクションで定義しています。どちらがより良い習慣ですか?

A:コレクションが不要な場合もあります。そうでない場合、モデルには絶対に URL が必要です。コレクションがある場合は、コレクションに指定した URL がそのモデルに適用されます。

Q: 2 番目のチュートリアルでは Backbone.Router を使用していますが、最初のチュートリアルでは使用していません。ベストプラクティスはどれですか?

A:経験則 - 2 つのケースで Router を使用します: 1) 履歴が必要な場合、および 2) パーマリンクが必要な場合。そうでなければ、ルーターは本当に必要ありません。

于 2012-11-02T21:28:38.603 に答える
1

これは良い質問です。ただし、Backbone は、コードをどのように編成する必要があるかについては意見を述べていません。

したがって、本当の答えは次のとおりです。

それは、アプリケーションの必要性と、プログラミングにどのように慣れているかによって異なります。

ベスト プラクティスの概要が必要な場合は、Backbone Boilerplate プロジェクトを参照してください: https://github.com/tbranyen/backbone-boilerplate

このプロジェクトはかなり堅実で、開始時に本当に役立ちました。

次に、あなたの質問に答えるために(これは偏見を感じるかもしれませんが、実際にそうです):

1 : バックボーンは主に MV* フレームワーク (Model-View-Whatever) です。コントローラ ロジックは主にバックボーン ビューに存在します。これは、フロント エンドの開発では問題ありません。ロジックは多くの場合、実際には UI に関連付けられているためです (主にインターフェイスをコーディングしているため)。バックボーンはコントローラーに組み込まれていませんが、このタイプの組織を好む場合は、独自に構築してください。

2 : URL は必要に応じて異なります。完全なコレクションを取得する場合はコレクションに設定し、1 つのモデルのみを取得 (またはおそらく保存) する場合はモデルに設定します。これらも仲良く暮らしています。

3 : ルーターについて、アプリで複数のページ/セクションを作成している場合は、それらを使用してください。ただし、RESTful API で行うように使用routesしないように注意してくださいaction。ほとんどの場合、最終的に問題が発生します (ユーザーが [戻る] ボタンを押すなど)。したがって、ページを管理する場合はルートを使用してください。

この助けを願っています!!

于 2012-11-02T21:26:30.017 に答える