我有一个ASP.NET MVC4项目,我被困在一个架构决定上,决定使用Angular.js还是Knock.js哪个JavaScript框架或库。我目前倾向于使用Angular.js而不是Knockout.js,但我不想在项目开发过程中发现我犯了一个错误。
下面是一些背景知识:
。
我已经阅读了优秀的答案here,并观看了Scott Allen关于Angular here的采访
因为我们不能改变我们目前的ASP.NET MVC4架构,在服务器端使用像Web API这样的东西,我在尝试用MVC4实现Angular.js时有一些concerns。这会导致我们有两个模型,一个在服务器上,一个在客户端吗?
我并不是在寻找一个关于Angular和Knockout的“哪个更好”的讨论,因为我认为它们都有自己的优缺点。我正在寻找在ASP.NET MVC4应用程序中实现JavaScript框架或库的实际代码。我需要一个解决方案,几年后我可以接受2+ :)
有什么想法或建议吗?也许答案不是敲门或角度,而是其他的JavaScript框架?
发布于 2014-01-23 06:03:37
很高兴看到这个问题是社区感兴趣的;)为了完整起见,我最后做了以下工作:
我选择了AngularJS和ASP.NET MVC4,我很高兴我这样做了。虽然Angular有一个陡峭的学习曲线,但由于指令的强大功能,它是值得的。
我们需要双向模型数据绑定--在某些情况下,我需要设置一些来自控制器的初始值。我使用ng-init属性来实现这一点。
发布于 2013-08-13 10:13:29
我2美分的价值。
前言-我使用过angular和knockout。我使用的是MVVM/MVC库构建的第三个非平凡前端。
我从knockout开始,因为它的MVVM非常类似于wpf/silverlight机制。它工作得很好。教程和文档都是一流的。您的所有程序员将能够在几天内使用knockout.js,或者如果他们在.net下使用过mvvm,那么在几个小时内就可以使用它。
然而,这些天我正在使用angular,并可能会坚持使用它,原因如下。
我不是一个铁杆粉丝,我仍然认为他们可以更多地转向MVVM架构,而不是他们目前拥有的“时髦的”MVVM/MVC混合架构。
angular最大的问题是文档。与淘汰赛相比,它是可悲的。这将增加额外的时间和成本,让您的程序员加快速度。然而,一旦他们在那里,这是目前的最佳选择IMHO。
发布于 2013-08-13 10:16:20
我没有太多关于AngularJs的意见,但我想提供一些关于Knockout的想法。
Knockout主要是一个用于连接视图和视图模型的数据绑定库,但实际上并没有提供更多的功能。我不建议单独使用knockout作为主库来构建一个复杂的基于客户端的网站。
您没有提到您是否正在实现类似spa的功能(例如,散列标签导航),或者您是否主要使用MVC服务器端视图(例如,Razor)。如果您只是想在每页级别上寻找快速的数据绑定,我甚至会重新考虑。对我来说,这两种方法(angular或knockout)都是为了增强客户端开发体验而设计的,而不是像MVC这样的服务器端方法。
如果您正在考虑一种SPA方法,那么您可能需要某种框架来提供对视图激活生命周期的某种程度的控制。
至于数据绑定能力和可靠性,我相信Knockout。我一直在广泛地使用它,并且变得非常喜欢它。如果你喜欢knockout的感觉,你可能想看看Durandal。Durandal是一个很好的框架,能够满足许多"spa“web项目的需求。它是一个客户端框架,构建在几个成熟的库之上,包括Knockout。它比Angular轻量级一点(很多),而且可能更容易使用。
我们正在使用Durandal和Knockout构建一个相当大的ASP.Net MVC网站,再加上一个额外的外观,以从开发的角度来加强事情,并且与ASP.Net MVC的集成是直接的。我不建议尝试使用现有的服务器端敲门砖;我只是觉得这样会限制MVVM模式的实际功能。
https://stackoverflow.com/questions/18199174
复制相似问题