Backbone: 公式意見が必要[アンダースコアvs.ロダッシュ]

作成日 2015年08月06日  ·  7コメント  ·  ソース: jashkenas/backbone

誰かがBackbone.JSによる公式の意見を教えてもらえますか?Lodashの移行/使用はどれほど安定していますか。

私はこれらを知っています3:

Lodash Migrationのメモを読みましたが、それでもバックボーンコミュニティの意見も必要です。 上記のすべてのlodashバージョンが、1.1.x以降のすべてのバージョンのバックボーンで正しく機能することを確認したいと思います。

UPD-1:ダイジェストしようとしています//github.com/jashkenas/underscore/issues/2182

UPD-2:実際、個人的には、アンダースコアを使用することに近いです-同様の目的のための最初のオリジナルライブラリとして。 John-Davidは、フォークして新しい地獄を作成するべきではなかったと思いますが、代わりに、アンダースコアに貢献し、ジェレミーがアンダースコアを改善するのを助けるべきでした。 このコラボレーションの何が悪いのでしょうか? しかし、私は両方のライブラリの歴史があまり得意ではないので、私は間違っているかもしれません。 事前に申し訳ありません。

UPD-3:バックボーンテスト。 そのように考えを引き起こしてくれた@RusAlexに特に感謝します。 そこで、2つのバージョンのバックボーンを取得し、異なるlodashバージョンでテストを実行しました。

_バックボーン1.1.2および_

  • lodash3.10.1-失敗したテストはありません
  • lodash.compatv3.10.0-失敗したテストはありません
  • 私のprjからlodash。 凍結v。2.4.1-失敗した精巣はありません
  • lodash.underscore v2.4.1-失敗したテストはありません:

_バックボーン1.2.1および_

  • lodash3.10.1-失敗したテストはありません
  • lodash.compatv3.10.0-失敗したテストはありません
  • 私のprjからlodash。 v.2.4.1-4つの失敗したテスト(68、69、200、202)
  • lodash.underscore v2.4.1-20の失敗したテスト(68、69、200、202、342-345、355-363、366、368、370)

したがって、両方の「リリース時に最新バージョンのライブラリ」を使用することは適切であり、リスクはないと思います。 そして明らかに-異なるリリース/バージョンを使用することは危険です。

question

全てのコメント7件

私は公式ではありません。 しかし、プログラマー。

undescroreをlodashに置き換えて、バックボーンテストを確認してください。

バックボーンは十分にテストされたライブラリであるため、テストが存在します。

@RusAlexあなたの答えは私がすでに

_注_:私はすでにlodash / backboneアプローチに移行しました(そして私のプロジェクトは正常に機能します)が、私のプロジェクトのトップレベルのアーキテクチャコミュニティは、それが正しい方法であるかどうかまだわかりません。正しい方向に100%である。

アンダースコアの問題#2182を読んだ後、遅かれ早かれアンダーダッシュが発生する可能性があることに気付きました。 @ jashkenasと@jdaltonの間のこのようなコラボレーションに
とにかく、それは私にとって公式に等しい答えになるでしょう!!!

したがって、両方の「リリース時に最新バージョンのライブラリ」を使用することは適切であり、リスクはないと思います。 そして明らかに-異なるリリース/バージョンを使用することは危険です。

うん。 Lodashには、バックボーンテストとアンダースコアテストが含まれており、現在の安定版リリースまでのコミットごとにそれらを実行しています。 将来、いくつかのテストでバックボーンに関連しないアンダースコアメソッドが使用されるため、Lodashが失敗する可能性がありますが、Lodash側に驚きがないように、それらを許します。

多くのプロジェクトは、Backboneを使用して最初にLodashに移行します。
Backboneにはここに公式の声明があると思い

ZeptoとLo-Dashの互換性はテストしていませんが、どちらも正常に機能するはずです。 より強力な保証が必要な場合は、jQueryとアンダースコアを使用してください。

lodashが実行され、CIのすべてのバックボーンテストに合格します。 さらにMarionetteは、複数バージョンのアンダースコア(1.4〜1.8)とlodash(> = 2.4.0)を使用して単体テストを実行します。 要点:バックボーンはlodash 2.4-3.10で正常に機能するはずです(2.xシリーズにはlodash.backboneを使用してください)

依存関係のためにアンダースコアを実際にlodashに置き換えるbrowserifyメソッドがあります(https://github.com/thejameskyle/marionette-wires/blob/master/package.json#L96-L103)。大ざっぱです(ライブラリ間にはAPIの違いがいくつかあるため)。

@jdaltonお返事
バックボーンドキュメントのその部分を読みましたが、それで十分です。 しかし、私のプロジェクトコミュニティのすべての開発者がこの文に自信を持っているわけではありません。

さまざまな程度の互換性で動作する傾向があります...

これは、ある程度の不確実性を示しています。 そして、私はそのような開発者に1%同意します。 そしてそれが私がこの議論を始めた理由です。

@megawac

  • それを指摘してくれてありがとう。 私はマリオネットチームに本当に満足しています、そして私の夢の中で彼らは元のバックボーンチームと二重の開発力と合併するべきです。
  • 私が調査した限り、次のようなものがあります。

    • lodash-for-backboneは実際には奇妙で、私が望んでいるものではありません。

    • バックボーン-実際にはバックボーン1.1.2であるlodashは、@ 提供されました。 実際、これはバックボーンの数十のフォークの1つです。 したがって、まったく関心がありません(Jeremyが教えてくれない限り、そのバージョンがバックボーンに取って代わります)。

  • 「browserifyway」は私のコミュニティプロジェクトの1つで使用されています。 あるライブラリを別のライブラリの名前で単純に置き換えることで、開発者にとっては「嘘」だと思います。 私のためではありません。

しかし、もう一度、コメントをありがとう。

@ akre54
はい、より強力な保証が必要です。 そして今のところ、それはバックボーンテストの結果です(#TDDが必要であり、機能するというもう1つの証明された事実)、それらはインターネット上での聖戦以上のものを私に示しています。 問題を解決していただきありがとうございます。当面はようです。解決策があります。

私は確かにLodashに移行し、Underdashを待ちます:)私は本当にそれを望んでいます。

ああ変更は、View要素を$('<' + someTagName + '>')ではなくdocument.createElement(someTagName)を使用して作成できるようにすること$('<' + someTagName + '>') 、正直なところ、Backboneを長い間使用していません。 余談ですが、メンテナンスされていない古いコードを振り返ると、非常に面白くて気のめいることがあることに気づきました。

私の投票は、それが人々のために機能し、テストがすべての存在をそれに吸い込む特異点を作成することを引き起こさないのであれば、間違いなくLodashになります。

このページは役に立ちましたか?
0 / 5 - 0 評価