一、SPA单页面应用

SPA(single-page application),翻译过来就是单页应用SPA是一种网络应用程序或网站的模型,它通过动态重写当前页面来与用户交互,这种方法避免了页面之间切换打断用户体验在单页应用中,所有必要的代码(HTMLCSS和JavaScript)都通过单个页面的加载而检索,或者根据需要(通常是为响应用户操作)动态装载适当的资源并添加到页面页面在任何时间点都不会重新加载,也不会将控制转移到其他页面举个例子来讲就是一个杯子,早上装的牛奶,中午装的是开水,晚上装的是茶,我们发现,变的始终是杯子里的内容,而杯子始终是那个杯子结构。

我们熟知的JS框架如 react, vue, angular, ember都属于SPA。

二、MPA多页面应用

MPA(MultiPage Application) ,指有多个独立页面的应用(多个html页面),每个页面必须重复加载JSCSS等相关资源。多页应用跳转,需要整页资源刷新。与 SPA 对比最大的不同即是页面路由切换由原生浏览器文档跳转(navigating across documents)控制。 页面跳转,是返回 HTML 的。

三、SPA与MPA优缺点比较

SPAMPA
组成一个主页面和多个页面片段多个完整页面
跳转方式一个页面片段删除或隐藏,加载另
一个页面片段并显示,片段间的模
拟跳转,没有离开外壳页面
页面之间的跳转是从一个页面到另
一个页面
资源共用(CSS与JS)共用,只需要在外壳部分加载不共用,每个页面都需要加载
刷新方式局部刷新整页刷新
URL模式leesong.top/#/pageone
leesong.top/#/pagetwo
leesong.top/pageone.html
leesong.top/pagetwo.html
用户体验页面片段间切换速度快,转场动画
容易实现
页面切换加载缓慢,流畅度不够,
用户体验较差
页面间数据传递容易,利用Vuex或者Vue中的父子组件通信相对麻烦,依赖URL传参、cookie、localStorage
搜索引擎优化
SEO
实现比较困难,不利于SEO检索,可以利用服务端渲染(SSR)优化容易实现
开发成本较高、需要借助专业框架降低开发难度较低、页面重复代码较多
维护成本相对容易相对困难
最后修改:2023 年 08 月 22 日
如果觉得我的文章对你有用,请随意赞赏