spa和mpa的区别

文章类型:Vue

发布者:hp

发布时间:2023-02-20

SPA(单页面应用)Single Page Application, 一般也称为CSR(Client Side Render)

只有一个主页面的应用,一开始只需要加载一次js、css所有相关资源,

所有内容都包含在主页面,对每一个功能模块组件化。页面的跳转,实际上就是切换相关组件,仅仅刷新局部资源

SPA的优点:

一.页面切换快,页面每次切换跳转时,局部更换模块,页面无闪烁,加载资源少

二.用户体验好,页面片段间的切换快,只是重新获取数据,组件已经提前加载好

三:转场动画比较好实现

四:页面间传递数据比较容易

五:维护比较容易,都是模块化组件

SPA的缺点:


一.首屏加载速度慢,整站一个页面,所有的资源都需要请求完成

二.不易于SEO,主要是搜索引擎只抓取html中的内容,因为接口请求后导致的渲染内容,抓取不到

三:开发成本较高,需要借助专业的框架进行开发

MPA(多页面应用),MultiPage Application,

有多个独立页面的应用,每个页面必须重复加载所需要的js、css等相关资源,多页面应用的跳转需要刷新整页的资源

优点:

1.首屏加载速度快,只加载当前页面的所需要的资源

2.SEO效果好,每个页面都有TDK,和html骨架,搜索引擎是可以识别

3:开发成本较低,上手简单

缺点:

1.页面切换慢,每次跳转整页重新请求,会出现白屏,卡顿,

2:页面间跳转,用户体验效果不佳

3:维护代码比较复杂,每个页面重复代码多

4:传参相对麻烦,只能通过url或者浏览器提供的localStorage等方式

5:页面切换效果无法实现,每次都是重新请求新页面

针对这两种情况,结合实际开发情况

spa采取两种方案进行提高seo方案

1:静态站点生成 (SSG),适合不轻易改动的站点,每个模块生成一个html文件

2:ssr服务端渲染,适合数据改变改动频繁、大的站点,返回渲染好的数据结构