2012-04-29 63 views
9

我一直在閱讀MVC 4 SPA的http://www.asp.net/single-page-application/an-introduction-to-spaMVC 4 SPA(單頁應用)說明

即使閱讀我有點不清楚什麼情況下,我應該使用SPA。通過查看上面鏈接的幾個示例,看起來像控制器保持不變。 MVC網頁與SPA之間的區別是,SPA是否包含大量Javascript框架?如果我們用MVC Web使用這些Java Script框架(Jquery,Knockout,Upshot等),我們可以獲得與SPA相同的結果嗎?或SPA意味着整個Web應用程序的一頁?

此外,我們是否使用SPA的佈局頁面?

謝謝你的澄清。希望有人不打算投票。

回答

11

因此,從我的理解SPA只是一個項目模板,顯示創建單頁面應用程序的模式。你可以在之前版本的MVC中做到這一點,但MVC 4有更多的工具可以使它更容易並顯示模式。

這方面的一個例子是trello.com。當你使用這個軟件的時候,它不像是一個普通的網站,你需要刷新頁面的請求和響應。一切都是在客戶端使用類似你提到的JavaScript框架完成的。

您的控制器構建了一個數據api(因此是新的api控制器),它允許您在服務器上執行操作並返回JSON中的原始數據,或者如果需要可以返回html。

但是每次回到服務器的回調都是通過客戶端框架進行的AJAX調用。你永遠不會使用一個定期的標籤,它會指導你做一個不同的頁面並刷新整個頁面。

因此,您將使用SPA的場景是,如果您正在創建某種類型的Web應用程序(如trello),並希望它真的像桌面應用程序一樣。

+2

@nilpun只是要注意,SPA顯然不會與MVC 4一起發貨。 – REMESQ 2012-06-01 17:01:52