use*_*870 86 asp.net-mvc asp.net-mvc-4 angularjs
我来自使用ASP.NET MVC/Web API,现在我开始使用Angular,但我不清楚混合它们的正确方法.
一旦我使用Angular,MVC服务器端概念仍然提供任何价值吗?或者我应该严格使用Web API来获取角度HTTP调用的数据?
对于转换为Angular的ASP.NET MVC人员的任何提示都会有所帮助
nul*_*ull 112
纯Web API
我曾经是ASP.NET MVC的硬核,但是因为我遇到了Angular,所以我没有看到为什么我会使用任何服务器端内容生成框架的原因.Pure Angular/REST(WebApi)提供更丰富,更流畅的结果.它更快,并允许您构建非常接近桌面应用程序的网站,没有任何时髦的黑客攻击.
Angular确实有一点学习曲线,但是一旦你的团队掌握了它,你就可以在更短的时间内建立更好的网站.这主要与你没有所有这些状态(较少)问题的事实有关.
例如,想象一下带有任何传统服务器端框架的向导表单.每个页面都需要单独验证和提交.也许页面的内容取决于前一页的值.也许用户按下后退按钮并重新提交以前的表格.我们在哪里存储客户的状态?使用Angular和REST时,所有这些并发症都不存在.
所以...走到黑暗的一边......我们有饼干.
Hac*_*ese 43
AngularJS与单页面应用程序范例更相关,因此,从呈现标记的服务器端技术中获益不大.没有技术上的理由阻止你一起使用它们,但从实际意义上讲,你为什么这么做?
SPA检索所需的资产(JS,CSS和HTML视图)并自行运行,与服务进行通信以发送或检索数据.因此,服务器端技术仍然需要提供这些服务(以及其他方式,如身份验证等),但渲染部分在很大程度上是不相关的,并不是特别有用,因为它是重复的工作,除了MVC做它在服务器端,Angular在客户端上执行此操作.如果您使用的是Angular,则需要在客户端上获得最佳效果.您可以制作Angular post HTML表单并从MVC操作中检索部分视图,但是您将错过Angular的最佳和最简单的功能并使您的生活更加艰难.
MVC非常灵活,您可以使用它来为SPA应用程序提供服务.但是,WebAPI更精细,更容易用于此类服务.
我编写了许多AngularJS应用程序,包括一些从已有的WebForms和MVC应用程序迁移的应用程序,并且ASP.NET方面发展为一个平台,用于将AngularJS应用程序作为实际客户端提供,以及用于托管应用程序层客户端通过REST(使用WebAPI)进行通信.MVC是一个很好的框架,但它通常会在这些类型的应用程序中找不到工作.
ASP.NET应用程序成为基础架构的另一层,其职责仅限于:
SPA的另一个好处是它可以增加团队的带宽.一组可以爆发服务,而另一组则在客户端应用程序中.由于您可以轻松地存根或模拟REST服务,因此您可以在模拟服务上拥有一个完全正常工作的客户端应用程序,并在完成后替换为真实服务器.
你必须在Angular上预先投资,但它会带来很大回报.由于您已熟悉MVC,因此您可以了解一些核心概念.
这取决于您正在进行的项目.
如果angularJS对你来说是新的,我宁愿选择一个小的低风险/压力项目来开始并确保你学会如何以正确的方式做事(我已经看到很多项目使用Angularjs因为压力,截止日期错误...没有时间以适当的方式学习它,例如使用JQuery或访问控制器内的DOM等...).
如果项目是一个绿色领域,并且你有一些AngularJS的经验,放弃ASP.net MVC是有道理的,而在服务器端则是纯粹的REST/WebAPI.
如果它是一个现有的项目,你可以选择一个复杂的功能子集,并将该页面构建为一个单独的angularJS应用程序(例如,你的应用程序由一大堆标准的简单/中等复杂性基于Razor的页面组成,但你需要和高级编辑器/页面,可能是使用AngularJS构建的目标部分).
| 归档时间: |
|
| 查看次数: |
31586 次 |
| 最近记录: |