将木偶从v0.9.10更新到v1.0.0-beta6

时间:2012-11-22 07:02:13

标签: backbone.js marionette

我正在使用牵线木偶v0.9.10。最近我有一个problem。所以我看到在新的牵线木偶中,某些功能被移动到不同的插件中

  • Backbone.EventBinder
  • Backbone.Wreqr
  • Backbone.BabySitter
  • 我只是想知道在以前的版本中使用它有什么好处

    1 个答案:

    答案 0 :(得分:1)

    从Marionette中提取其他存储库的目的有两个:

    1. 为更大的Backbone开发社区提供更多价值
    2. 允许Marionette的发布时间表在所有情况下都不直接与这些组件绑定
    3. 第一个原因:有许多人对这些插件涵盖的每个领域都有直接兴趣。我已经在社区的其他部分回答了很多关于解耦架构,子视图管理,事件管理等问题的问题。通过将这些代码块拆分到单独的存储库中,较大的Backbone社区可以利用这个功能。

      第二个原因:拥有单独的存储库和插件允许我们对特定的功能子集进行更改,而不必对Marionette本身进行完整的发布/版本修改。例如,我可以将BabySitter从v0.0.1移动到v1.0,而无需更改任何Marionette的代码。释放周期解耦可以更灵活地提供更新和修复。

      最后,这些库的分离在木偶片之间提供了更好的抽象层。我们不再想要将此功能直接编码到想要使用它的对象中。相反,我们必须使用单独的库并将其合并到Marionette中。核心Marionette.View是出错的好例子,也是我们想要这样做的原因。 Marionette中有太多不同的部分。查看 - 太多与之无关的东西,但我们希望在其他一个视图中使用它。将库拆分为多个库可以解决这个问题。

      就管理这些依赖关系而言,至少有4个选项。

      1. http://marionettejs.com抓取“预先打包的版本” - 它包含了所有内容(骨干,下划线,jquery,所有先决条件,木偶等)
      2. 在一个文件中抓取一个“捆绑”版本,其中包含所有先决条件和牵线木偶
      3. 抓住个别作品和“核心”构建 - 自己将各个部分放在一起,并自行管理版本
      4. 使用像JamJS或Bower
      5. 这样的包管理器

        关于使用更新版本的Marionette的优势:错误修复,新功能,更稳定的代码,更一致的API,支持开发的更新和更好的对象,以及对当前版本的支持。

        如果能够完成所需的一切,坚持使用旧版本就可以了。网络上有实时应用程序,此时几乎每个.minor版本的木偶都会运行。这些应用程序可能不需要更新,因此它们坚持使用它们。但老实说,你不会得到太多旧版本的支持。

        直到v1.0最终下降,向后兼容性和支持几乎不存在。一旦v1.0下降,我们将在短时间内为其提供错误修复,但会在新版本中推进新功能。

        HTH