单页面应用 |
多页面应用 |
|
组成 |
一个外壳页面和多个页面片段 |
多个完整页面 |
资源共用 |
共用,只需在外壳部分加载 |
不共用,每个页面都需要加载 |
刷新方式 |
页面局部刷新或更改 |
整页刷新 |
url模式 |
a.con/#/page |
a.com/page.html |
用户体验 |
页面片段间的切换快,用户体验良好 |
页面切换加载缓慢,流畅度不够,用户体验较差 |
转场动画 |
容易实现 |
无法实现 |
数据传递 |
容易 |
依赖url传参,或者cookie、localStorage等 |
搜索引擎优化 |
需要单独方案,实现较为困难,不利于SEO检索,可以利用服务器端渲染(SSR)优化 |
实现方法容易 |
使用范围 |
高要求的体验度,追求界面流畅的应用 |
适用于追求高度支持搜索引擎的应用 |
开发成本 |
较高,常需借助专业框架 |
较低,但页面重复代码多 |
维护成本 |
代码复用率大,维护相对容易 |
相对复杂 |