SPA单页面

134 阅读2分钟

单页Web应用(single-page application 简称为SPA)是一种特殊的Web应用。它将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HTML、JavaScript和CSS。一旦页面加载完成了,SPA不会因为用户的操作而进行页面的重新加载或跳转。取而代之的是利用JavaScript动态的变换HTML的内容,从而实现UI与用户的交互。由于避免了页面的重新加载,SPA可以提供较为流畅的用户体验。得益于ajax,我们可以实现无跳转刷新,又多亏了浏览器的histroy机制,我们用hash的变化从而可以实现推动界面变化。从而模拟元素客户端的单页面切换效果:

SPA被人追捧是有道理的,但是它也有不足之处。当然任何东西都有两面性,以下是它的一些优缺点总结:

(1)优点:

1.无刷新界面,给用户体验原生的应用感觉

2.节省原生(android和ios)app开发成本

3.提高发布效率,无需每次安装更新包。这个对于ios开发人员来说印象尤其深吧

4.容易借助其他知名平台更有利于营销和推广

5.符合web2.0的趋势

(2)缺点:

1.效果和性能确实和原生的有较大差距

2.各个浏览器的版本兼容性不一样

3.业务随着代码量增加而增加,不利于首屏优化

4.某些平台对hash有偏见,有些甚至不支持pushstate

5.不利于搜索引擎抓取

当然,有单页面应用就有多页面应用

多页应用:与单页应用相对应的,不同的功能通过不同的页面来实现。

以下是总结的一些单页面与多页面的对比:

Snipaste_2022-05-16_15-53-29.png