1.单页Web应用(single page web application,SPA),这是百度百科上的定义。
我理解的就是只有一张Web页面的网站。页面切换都只在一个web页面上完成。
优点:a.有良好的用户交互体验,可以只加载部分模块或者局部刷新部分模块。
b.多端可以使用同一套web项目代码
c.前后端分离开发
d. 减轻服务器压力
缺点:a.SEO难度较高
b.前进、后退管理
c.初次加载耗时多
2.多页面应用(MultiPage Application,MPA)。这个web应用是有多个完整的html页面,交互在不同的页面之间产生和跳转。
优点:a.首屏加载快;
b.seo优化好;
c.开发成本较低
缺点: a.页面切换不流畅
b.重复代码多
c.维护成本多
总结以下就是
单页面 | 多页面 |
---|---|
组成:一个外壳页面和多个页面片段组成 | 组成:多个完整页面组成,记得是完整页面 |
css、js等资源:共用。只在外壳部分加载 | css、js等资源:不共用。加载一个页面就去加载对应的资源 |
css、js等资源:不共用。加载一个页面就去加载对应的资源 | url模式:a.com/pageone.html a.com/pagetwo.html |
刷新方式:局部刷新 | 刷新方式:局部刷新 |
用户体验:页面切换速度快,用户体验较好 | 用户体验:页面切换速度慢,影响用户体验。 |
数据传递:容易 | 数据传递:依赖 url传参、或者cookie 、localStorage等 |
搜索引擎优化:需要单独方案做,有点麻烦 | 搜索引擎优化:比较容易 |
开发成本:较高,需要专业的框架 | 开发成本:较低,但重复代码多 |
维护成本:相对容易 | 维护成本:相对复杂 |