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服务端渲染,适合数据改变改动频繁、大的站点,返回渲染好的数据结构