1

マリオネット v0.9.10 を使用しています。最近、私は問題を抱えていました。そのため、新しいマリオネットでは、特定の機能が別のプラグインに移動されていることがわかりました

  • Backbone.EventBinder
  • Backbone.Wreqr
  • Backbone.BabySitter
  • 以前のバージョンよりもそれを使用する利点は何か知りたかっただけです

    4

    1 に答える 1

    1

    Marionette からこれらの他のリポジトリを抽出する目的は、次の 2 つです。

    1. より大きなバックボーン開発コミュニティにより多くの価値を提供する
    2. すべての場合において、これらのコンポーネントに直接結び付けられていないマリオネットのリリース スケジュールを許可する

    最初の理由: これらのプラグインがカバーする各領域に直接的な関心を示している人がたくさんいます。私は SO に関する多くの質問に答え、分離されたアーキテクチャ、子ビュー管理、イベント管理などに関連するコミュニティの残りの部分で答えました。これらのコードのチャンクを別々のリポジトリに分割することで、より大きなバックボーン コミュニティが活用できます。この機能の。

    2 番目の理由: 個別のリポジトリとプラグインを使用すると、機能の特定のサブセットに変更を加えることができ、Marionette 自体の完全なリリース/バージョン バンプを行う必要がなくなります。たとえば、Marionette のコードをまったく変更せずに、BabySitter を v0.0.1 から v1.0 に移行できます。リリース サイクルを切り離すことで、更新と修正の配信の柔軟性が高まります。

    最後に、これらのライブラリを分離することで、Marionette の断片間の抽象化レイヤーが向上します。この機能を使用したいオブジェクトに直接コード化することはもうしません。代わりに、別のライブラリを使用して、適切に Marionette に組み込む必要があります。コアの Marionette.View は、うまくいかないことの良い例であり、なぜそれをしたいのかを示しています。Marionette.View にはバラバラな部分が多すぎます。実際には関係のないものが多すぎますが、他のビューの 1 つに含める必要がありました。ライブラリを複数のライブラリに分割することで、この問題を解決できます。

    これらの依存関係の管理に関する限り、少なくとも 4 つのオプションがあります。

    1. http://marionettejs.comから「事前にパッケージ化されたビルド」を取得します。これには、開始するためのすべてが含まれています (バックボーン、アンダースコア、jquery、すべての前提条件、マリオネットなど)。
    2. すべての前提条件とマリオネットを含む「バンドルされた」ビルドを 1 つのファイルに取得します。
    3. 個々のピースと「コア」ビルドを取得する - ピースを自分で組み立て、自分でバージョンを管理する
    4. JamJS や Bower などのパッケージ マネージャーを使用する

    Marionette の新しいバージョンを使用する利点について: バグ修正、新機能、より安定したコード、より一貫性のある API、開発をサポートするためのより新しく優れたオブジェクト、および現在のリリースのサポート。

    必要なすべての機能を備えている場合は、古いリリースを使用しても問題ありません。この時点で、ほぼすべての .minor バージョンの marionette を実行しているライブ アプリがウェブ上にあります。これらのアプリは更新する必要がない場合があるため、現在持っているものをそのまま使用できます。しかし、正直なところ、古いバージョンのサポートはあまり得られません。

    v1.0 が最終的にリリースされるまで、下位互換性とサポートはほとんど存在しません。v1.0 がリリースされたら、バグ修正を短期間提供しますが、新機能は新しいバージョンに移行します。

    HTH

    于 2012-11-30T13:55:16.317 に答える