ASP.net MVC单页应用程序(SPA)概念

时间:2016-08-26 13:23:50

标签: asp.net

我是ASP.net MVC单页应用程序(SPA)的新成员。我想设计一个使用SPA概念的系统。

但是,我对SPA系统如何考虑SPA概念设计有点困惑?系统URL是否必须始终相同,尽管我们执行许多活动或者没有像往常一样在一个页面中使用后退功能(浏览器),因为只渲染必要的HTML部分?我在谷歌搜索,仍然不知道。有没有人能以更简单的方式解释?

谢谢。

2 个答案:

答案 0 :(得分:3)

拥有SPA的一个主要优点是,因为您只有一个页面并且您一次加载所有数据(或在后台进行多个AJAX调用以按需获取数据),您的应用程序将提供幻觉没有回发到服务器的帖子,使你的网络应用程序看起来像一个应用程序。

使用SPA可以潜在地改善应用程序的用户体验。可以提高速度,但是您可能需要让用户等待几秒钟才能加载所有初始数据.SPA非常适合触摸屏应用程序,例如自助服务终端和基于触摸的销售点系统,其中导航由SPA 100%控制。

SPA也有许多缺点,例如在您的网站中实施后退导航。在传统网站中,这不是问题,但在SPA中,您需要非常巧妙地使用Backbone.js等javascript库或Angular.js模仿此功能。公共站点和分析的搜索引擎功能也可能是一个问题。如果您正在编写一个巨大的企业类型的应用程序,您可能会遇到性能问题。

在你决定是否使用它们之前,我会强烈建议阅读Disadvantages of Single Page Applications

答案 1 :(得分:0)

SPA仍然可以具有多个不同的URL。

  • 在这种情况下,需要对托管应用程序的服务器进行配置,以将URL的所有路径定向到主index.html页面。
  • index.html页面将加载SPA的初始部分,如果看到URL上的路径超出/,则它将加载该路径的“组件”。
  • 此处所述的“组件”可能由HTML,JavaScript组成,并请求从外部API请求的任何数据。

Angular是SPA框架,它内置支持基于已注册URL路径加载组件。还有其他SPA框架。