什么是单页应用程序(SPA)?

5

这是我对SPA的理解。

它是一种应用程序,在任何用户触发事件的响应中,用户会感到自己在同一页上。 基本上整个页面不会被提交,将在后台触发一个ajax请求来处理事件,并在同一页上呈现响应。 因此,它非常快(因为整个页面没有被提交),并且更加响应迅速(即使ajax请求正在处理过程中,也没有空白屏幕,这意味着仍然可以有一些屏幕用户可以采取行动)

因此,根据我的理解,任何完全基于ajax并且没有像document.form.submit这样同步提交整个页面的网络应用程序都是单页应用程序,无论它是否使用控制器、路由等。 这正确吗?

我已阅读 SPA wiki,并了解到:如果应用程序完全基于ajax,但未使用控制器、路由等,则可能不是单页应用程序。

1个回答

6

@MSach。你对SPA所写的一切都是正确的,此外:

  • 首先,SPA是一个适合于单个网页的Web应用程序,为用户提供了良好的用户体验,并在第一页上加载所有所需内容。
  • SPA也非常适合提供丰富的用户体验,通过客户端导航使页面流畅移动,这样可以减少往返次数,意味着客户端和服务器之间的少量数据传输和整个页面的少量回发。
  • SPA通常还会在客户端中保留重要状态,无论是在缓存中、浏览器内存中,还是离线存储中。您可以在初始加载时同时加载所需的数据和视图,但只加载用户绝对需要立即使用的部分,然后稍后可以异步地加载其余部分。当用户进入应用程序的其他部分时,我们可以根据需要渐进式地下载其他功能和数据。
  • 像Facebook和Gmail这样的应用程序都具有SPA特性,还有一些其他应用程序也是SPA。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接