版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Haytham_Chou/article/details/84953095
单页面应用(SinglePage Web Application,SPA)
只有一张Web页面的应用,是一种从Web服务器加载的富客户端,单页面跳转仅刷新局部资源,公共资源(css、js等)仅需加载一次,常用于PC断官网、购物网站等。
如图:
多页面应用(MultiPage Application,MPA)
多页面跳转刷新所有资源,每个公共资源(js、css等)需要选择性重新加载,常用于APP或客户端等。
如图:
具体对比分析:
单页面应用(SinglePage Web Application,SPA) | 多页面应用(MultiPage Application,MPA) | |
---|---|---|
组成 | 一个外壳页面和多个页面片段 | 多个完整页面 |
资源共用(js, css) | 共用,只在外壳部分加载 | 不共用,每个页面都需要加载 |
刷新方式 | 页面局部刷新或更改 | 整页刷新 |
url模式 | a.com/#/pageone a.com/#/pagetwo |
a.com/pageone.html a.com/pagetwo.html |
用户体验 | 页面片段间的切换快,用户体验良好 | 页面切换加载缓慢,流畅度不够,用户体验较差 |
转场动画 | 容易实现 | 无法实现 |
数据传递 | 容易 | 依赖url传参、cookie、localStorage等 |
搜索引擎优化(SEO) | 需要独立方案、实现较为困难、不利于SEO检索,可利用服务器渲染(SSR)优化 | 实现方法简易 |
适用范围 | 高要求的体验度、追求界面流畅的应用 | 适用于追求高度支持搜索引擎的应用 |
开发成本 | 较高,常需借助专业的框架 | 较低,但页面重复代码多 |
维护成本 | 相对容易 | 相对复杂 |