2017-08-02 22 views
5

我的理解:Asp.net mvc vs Angular JS开发应用程序

Asp.net MVC用于开发在服务器处理请求的应用程序。它也提供视图。但最终它在服务器上呈现视图并向用户发送纯HTML。

另一方面,角JS在服务器上不做任何处理。它只向客户端提供HTML或JavaScript文件,然后客户端执行这些文件。 Angular应用程序只能通过服务器上运行的服务期望数据。

我的问题:

如果在所有角不会引起任何服务器端的处理负荷,为什么不使用它总是开发前端应用程序,并在服务器为什么不使用任何服务(如Web API或WCF)而不是MVC? 总之,为什么我们需要服务器端视图处理框架,而不是我们可以在服务器端和客户端角应用服务?

+0

所有的技术/框架都有自己的目的,它取决于你想如何使用它。你的问题基本上是问:“我可以用刀子,斧子或电锯把椰子切成两半,如果我只使用其中的一种或可用的工具,为什么它重要?” – Zephyr

+0

不知道问题是否重复,但[在这里](https://stackoverflow.com/questions/23076670/asp-net-mvc-5-vs-angularjs-asp-net-webapi)我们可以找到更完整的解释关于这个话题。 – ZenVentzi

+0

[ASP.NET MVC 5与AngularJS/ASP.NET WebAPI]可能的重复(https://stackoverflow.com/questions/23076670/asp-net-mvc-5-vs-angularjs-asp-net-webapi) – ZenVentzi

回答

2

ASP.NET MVC和AngularJS都有各自的用途和优点。 与您的具体问题一样,AngularJs更适合SPA(单页应用程序),其中ASP.NET MVC是一个完整的服务器端应用程序,可以包含WebAPI,路由引擎以及HTML视图。

为什么总是像ASP.NET MVC这样的服务器端应用程序首选的原因是,它满足了所有基本需求,而且在很多情况下,AngularJs都是樱桃蛋糕。它提供了流畅的用户体验。另外AngularJs并不是非常一致,因为它取决于用户的浏览器,而且这种浏览器变化很大,并可能导致不一致的结果。所以服务器端应用程序永远是一个最好的回退,以确保用户的基本用途已满。

+0

所以你的意思是说,对于一个基本的应用程序,我们应该使用asp.net mvc和复杂的UI应用程序,我们应该更喜欢angular + service?或者我们应该在Angular和Asp.net mvc的组合中开发应用程序?如果是这样,为什么我们会使用MVC渲染视图,因为角度可以做到这一点? –