【发布时间】:2014-05-29 09:23:45
【问题描述】:
我目前正在评估用于在我的公司中创建未来 Web 应用程序的编程模型。因此,我将在 ASP.NET MVC 5(带有 Razor 视图)和带有 ASP.NET WebAPI 的 AngularJS 之间做出决定。这两种编程模型的优缺点是什么?
【问题讨论】:
-
好吧...如果您要将 AngularJS 锚定到 ASP.NET...您实际上并没有给它一个公平的比较。就像您希望将 Javascript 从 Angular 中移除,但这并不是它的本意。 Angular 旨在成为您的客户端框架,并且在您使用非常少的服务器端模板时效果最佳:simple-talk.com/blogs/2013/10/16/…。诸如身份验证之类的事情是有道理的,但不要理会,直接使用 .NET 并使用它为 Angular 创建一个 API 层。
-
我认为您真正需要的只是带有 ASP.NET WebAPI 的 AngularJS。我认为它有两全其美。我尝试将 MVC 与 AngularJS 混合使用,当我遇到问题时体验不是很好,所以建议不要陷入这个陷阱。我对这种方法怀念的一件事是带有 Razor 引擎的 MVC 可以提供的基于设备的视图。一定有办法克服这个问题,但我还没有进行足够的实验。
-
我在 Angular 上工作了短短几个月(虽然看起来像是永远),但我永远不会再回到 Razor。你使用 Angular 的次数越多,你就越会欣赏它——灵活性和强大,有时感觉就像魔法一样。我应该说 Web API 不能很好地与 Angular 配合使用,至少在 POST 表单上是这样,但这是可以解决的。对于 C# 程序员的语法而言,这不是一个简单的过渡,因为 javascript 不是一种强类型语言。但是当你克服这个障碍时,你会开始欣赏 Angular。
-
Razor 即使在模板引擎中也是一个可怕的东西。在任何模板引擎(Jade、车把、剃须刀等)上使用 Angular 时,您会注意到生产力的显着提高。使用提供 JSON 的后端(可以是 web-api、node-express 或 PHP)和 angular 前端。需要注意的是,淘汰赛不如 angular.... 一切顺利...
-
@BrianVanderbusch 不太清楚你在说什么。后端根本不重要。它可以是任何东西。他说他将使用 ASP.NET 作为后端,使用 Angular 作为客户端前端。 Angular 仍然需要调用服务器以获取数据。这与不给 Angular 一个公平的比较无关。
标签: asp.net asp.net-mvc angularjs