多页应用模式 | 单页面应用模式 | |
应用组成 | 由多个完整页面组成 | 一个外壳页面和多个页面片段构成 |
跳转方式 | 页面之间的跳转是从一个页面跳转到另一个页面 | 页面之间的跳转是把一个页面片段删除或隐藏,加载另一个页面片段并显示出来。这是片段之间的模拟跳转,并没有离开壳页面 |
跳转后是否重载公共资源 | 是 | 否 |
url模式 | http://xxx/page1.html http://xxx/page2.html | http://xxx/shell.html#page1 http://xxx/shell.html#page2 |
用户体验 | 页面间切换加载慢,不流畅,用户体验差,特别是在移动设备上 | 页面片段间切换快,用户体验好,包括在移动设备上。 |
能否实现转场动画 | 无法实现 | 容易实现 |
页面间传递数据 | 依赖URL、cookie或者localStorage,实现麻烦 | 因为在一个页面内,页面片段间传递数据很容易实现 |
搜索引擎优化 | 可以直接做 | 需要单独方案做,有点麻烦 |
特别使用的范围 | 需要对搜索引擎友好的网站 | 对体验要求高的应用,特别是移动应用 |
开发难度 | 低,框架选择容易 | 高,需要专门的框架来降低这种模式的开发难度 |
结论: | 单页面已经是趋势 |