我想知道使用这两个世界的优点和缺点:
我们专注于具有大量服务器端业务规则和计算的大中型企业项目的SPA / Mini-SPA。我也关注安全性。
优缺点意见将帮助我在脑海中找到这个问题的答案:
一起使用ASP.NET Web API(后端),ASP.NET MVC和Angularjs是明智的决定吗?
是的,将两者结合起来是明智的。显然,根据具体项目,您需要调整最终解决方案中的某些变量。
您所建议的实际上是我们最近2或3个项目的堆栈,根据特定要求在此处和此处有一些变体。我们已经使用了WebAPI + DurandalJS,WebAPI + Knockout …一切都很好:) AngularJS似乎使用了最长的时间,在我们公司内部以及在社区的其他地方都越来越受欢迎(这是决定性的)对我来说)
当前技术堆栈。
+------------------------------------+ | Usage | +-------------------------+------------------------------------+ | AngularJS | The client app web, or mobile | +-------------------------+------------------------------------+ | WebAPI | For all your data access needs | +-------------------------+------------------------------------+ | OAuth & Bearer Tokens | For Authentication & Authorization | +-------------------------+------------------------------------+ | SQL Server & EF / any | Persistence | | any other noSQL variant | & Storage | +-------------------------+------------------------------------+ | Angular-UI / | | | Angular-Material | Base UI components | +-------------------------+------------------------------------+ | Katana | Collection of projects for | | | supporting OWIN on MS-Stack | +-------------------------+------------------------------------+ | CORS | Standard for implementing | | | cross domain requests | +-------------------------+------------------------------------+
优点:
Web App可以很容易地移植到移动设备上(如果您以可能会移动的方式编写)
AngularJS允许使用功能强大且结构化的客户端代码(不是没有Angular就无法做到这一点,但以我的经验,如果您正确地遵循它们,框架将实施更好的实践)
开始听起来像是破记录,但是众所周知,AngularJS可以进行超级测试
如果您害怕NodeJS和grunt / gulp之类的东西,可以使用.Net捆绑
缺点:
如果您不熟悉Angular,学习曲线会很不错
可能重复验证
安全性重复。您需要确保保护API和应用程序的安全。(由于两层之间存在断开连接)
您需要学习CORS的工作原理,以及如何正确隐含CORS,因为您的API和Web应用可能不在同一个域/源上