一:单页应用
1)单页应用是什么?
SPA
(single page application
): 单页面应用,即一个web项目就只有一个页面(即一个HTML文件)。
就是把整个项目的所有页面的所有内容分成了很多的小块(就是组件),可以重复利用的,可以任意调整的组件,每个组件就是一个独立的部分(包括html
,css
和javascript
代码)。再做一个html
(基本上啥也没有),这个html
就是一个页面容器,需要放哪个组件时,直接引入就行。跳转时,直接跳转组件就行。当需要加载某个组件时,js
会动态创建这些组件里的HTML
,CSS
。
2)单页应用的优缺点
- 优点
-
-
有良好的交互体验。能提升页面切换体验,用户在访问应用页面是不会频繁的去切换浏览页面,从而避免了页面的重新加载。
单页面是一次性把
web
应用的所有代码(HTML
,JavaScript
和CSS
)全部请求过来,有时候考虑到首屏加载太慢会按需加载。这样一来,以后用户的每一个动作都不会重新加载页面(即不用再问服务器要页面的HTML
慢,css
和js
代码),取而代之的是利用JavaScript
动态的变换HTML
的内容(这不需要和服务器交互,除非数据是动态,那么只需要问服务器要数据即可)。
-
-
- 减轻服务器压力。服务器只用出数据就可以,不用管展示逻辑和页面合成,吞吐能力会提高几倍;
-
- 缺点
-
- SEO难度较高。SEO差的原因是因为页面中的内容都是靠js渲染出来了,在百度或者goole这样的搜素引擎当中,排名会比较差。
-
- 首屏加载(初次加载)耗时多。为实现单页
Web
应用功能及显示效果,需要在加载页面的时候将JavaScript
、CSS
统一加载,部分页面可以在需要的时候加载。所以必须对JavaScript
及CSS
代码进行合并压缩处理;
- 首屏加载(初次加载)耗时多。为实现单页
-
-
前进、后退管理。由于单页
Web
应用在一个页面中显示所有的内容,所以不能使用浏览器的前进后退功能。配置好路由信息,通过记录浏览过的历史路由信息,可以很好的记录或历史查看过的界面,也可以独立写个足迹功能实现。
-
-
二:多页应用(MultiPage Application,MPA)
1) 什么是多页面应用?
项目是由多个完整的页面组成。多页面跳转刷新所有资源,每个公共资源(js、css等)需选择性重新加载。
2) 多页应用的优缺点
- 优点
- 有利于
seo
。 - 首屏加载加载快。
- 有利于
- 缺点
- 页面切换慢。资源共用(
html
、css
,js
)不共享,不共用,每个页面都需要加载。 - 页面重复代码多。
三:单页应用和多页应用对比
- 页面切换慢。资源共用(
单页面应用(SinglePage Web Application,SPA) | 多页面应用(MultiPage Application,MPA) | 组成 | 一个外壳页面和多个页面片段组成 | 多个完整页面构成 | 资源共用(css ,js ) | 共用,只需在外壳部分加载 | 不共用,每个页面都需要加载 | 刷新方式 | 页面局部刷新或更改 | 整页刷新 | url 模式 | a.com/#/pageone | a.com/pageone.html | 整页刷新 | 用户体验 | 页面片段间的切换快,用户体验良好 | 页面切换加载缓慢,流畅度不够,用户体验比较差 | 转场动画 | 容易实现 | 无法实现 | 数据传递 | 数据传递 | 依赖 url 传参、或者cookie 、localStorage等 |
---|
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!