2017-08-02 55 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渲染視圖,因爲角度可以做到這一點? –