Angularjs 鉴于DurandalJS&;一个新项目应该选择哪一个?

Angularjs 鉴于DurandalJS&;一个新项目应该选择哪一个?,angularjs,durandal,Angularjs,Durandal,DurandalJS项目的负责人现在正在谷歌的AngularJS Next(v2?)上工作,同时保持DurandalJS的当前版本。这两个框架正在趋同 对于一个新的迷你SPA项目,哪种框架是升级路径的最佳选择 我注意到Rob Eisenberg列出了一些帮助现有DurandalJS用户为下一个版本做好准备的技巧,因此似乎会有一个升级路径可用,但我想知道从AngularJS升级到下一代框架是否会更简单 明确地说,我更关心的是为未来做出正确的选择(大型水疗中心,分为多个迷你水疗中心),而不是我当

DurandalJS项目的负责人现在正在谷歌的AngularJS Next(v2?)上工作,同时保持DurandalJS的当前版本。这两个框架正在趋同

对于一个新的迷你SPA项目,哪种框架是升级路径的最佳选择

我注意到Rob Eisenberg列出了一些帮助现有DurandalJS用户为下一个版本做好准备的技巧,因此似乎会有一个升级路径可用,但我想知道从AngularJS升级到下一代框架是否会更简单


明确地说,我更关心的是为未来做出正确的选择(大型水疗中心,分为多个迷你水疗中心),而不是我当前的需要。

我不确定哪一个是目前的最佳选择。。。事实上,我想说的是,它们都不够未来储蓄。Angular 2.0绝对不同于1.0,当然也不同于Durandal

然而,框架本身可能并不那么重要。我认为您应该专注于分离可重用组件中的代码。无论是角度服务/工厂/供应商还是Durandal中的clean Require模块,实际上都无关紧要。将其放入“新”框架应该只是添加适当的包装器。至于双向绑定,请使用oberserver插件来维护干净的POJO

从我的角度来看,NG2中最重要的变化将是生命周期事件的支持,因此即使现在在Durandal中使用这些事件,NG2也将以某种方式得到支持。至于合成,肯定会有一种方法可以在NG2中轻松模拟

在我看来,对于当前使用的框架的决策来说,只有两件事是重要的,那就是使用RequireJS和框架的简单性。当然你也可以将其添加到Angular中,这方面有一些指南,但Durandal是在考虑到RequireJS的基础上从头开始构建的。特别是在更大的项目中,这可以避免丢失或错误的依赖项带来的很多麻烦。至于第二个论点->将Durandal移植到Angular并不是什么大问题,因为它是以一种简单易懂的方式编写的。反之亦然,情况可能完全不同。要将自定义指令实现为模板和ko绑定的组合可能会非常困难:)

作为结束语,如果这是一个小项目,但需要持续的支持以及将来对NG2的更新,我会选择Durandal。除了RequireJS,一切都是可交换和可适应的。在Angular的例子中,我不确定新的DI系统会有多大程度上改变开发方式,所以这对我来说将是一个阻碍


顺便说一句,这是你的答案。正如你所见,一切重要的事情都会改变:

  • 路由器
  • 坚持
  • 指令
  • 模块化(也许我们最终会看到RequireJS:)

谢谢。非常有帮助。考虑到Rob加入的情况(工作描述是制作Durandal到Angular2的迁移路径,包括Angular2中未包含的任何Durandal位的插件),然后最近离开Angular,这个问题似乎和以前一样重要,尽管Durandal NextGen可能会很快回到正轨/退出。谁知道呢?