对于asp.net mvc,AngularJs、BackboneJs或KnockOutJs中哪个js最好



我在Asp.net MVC工作了一年,但我从未使用过AngularJs、BackboneJs或KnockoutJs。现在我想在我的项目中使用它,但我有点混淆了MVC是最好的。在某个地方,我读到AngularJs的性能最好,但大多与MVVM框架一起使用,所以请为我提供适当的指导,在Asp.net MVC中,AngularJs、BackboneJs或KnockoutJs中哪个js最好?

提前感谢。

如果您正在构建单页应用程序,则需要一个SPA框架。它应该包括双向数据绑定、客户端路由、页面组成、导航、屏幕状态管理、模块系统、绑定。您可以在Angular和Durandal之间进行选择。它们都提供了非常相似的功能,但在我看来,Durandal是最完整的SPA框架,非常易于使用。Durandal和Angular都可以与Breezejs一起用于构建以数据为中心的应用程序。

检查Durandal、Durandal Auth和HotTowel Angular

如果您正在构建ASP.NET MVC应用程序,那么客户端所需要的就是双向数据绑定,以减少DOM操作。在我的文章中,仅仅将angular用于数据绑定是过分的。Backbone或Knockout是不错的选择,但Angular也可以使用。

这取决于应用程序的性质。既然你没有详细地描述它,这是一个不可能回答的问题。我发现Backbone是最简单的,但我整天都在Angular工作。在我看来,性能更多地取决于编码器而不是框架。

您正在进行繁重的DOM操作吗?我会使用jquery和主干

非常数据驱动的应用程序?角度很好的数据绑定

游戏编程?没有,直接到画布,也许是一个游戏引擎-源

此外,请查看https://stackoverflow.com/questions/5112899/knockout-js-vs-backbone-js

您可以检查以下来源。它真的很完整:

http://www.infoq.com/research/top-javascript-mvc-frameworks

就我个人而言,我选择Angular只是因为它的性能,但有很多原因。。。

我在工作中使用带有ASP.NET MVC/Web API的Knockout,但我在家里玩过Angular,老实说我更喜欢这样。请记住,Knockout解决的问题比Angular解决的问题小得多,后者是一个完整的SPA框架(包含服务、HTML指令等)。要比较苹果与苹果,您应该考虑将Knockout与Durandal结合使用,因为这是一个像Angular这样的全面SPA框架。

根据实际经验,我怀疑Angular比Knockout更容易避免内存泄漏,因为Knockout在订阅可观察性时会隐式地生成引用(通常通过ko.computed),而且由于在不清理的情况下不可逆地接受Knockout订阅,我们很难追踪到这种内存泄漏。对于Angular,我看不出你有同样的问题,因为你没有直接订阅可变变量("可观测性")。相反,该框架完全可以控制应用模型更改,这在最初可能更难掌握,但最终会带来更好的可维护性。

我没有尝试过淘汰赛或主干赛。在Angular中,我使用过ASP.NET MVC。我个人不喜欢使用MVC视图。由于Angular需要POJO(普通的旧JavaScript对象),所以,我改为WebApi和Angular。老实说,我对Angular非常满意,原因如下:

  • DOM模拟是在它们所属的地方完成的
  • 双向绑定
  • 采用单元测试设计
  • 服务是属于它们的
  • 设计时考虑到HTML5
  • 能够创建HTML标记以满足业务需求(指令)等

最新更新