什么是SPA,有什么优缺点

1,339 阅读2分钟

前言

今天一起聊一聊单页面应用,看一看它都有什么优缺点。单页面应用见名知意,就是只有一张web页面的应用。


一、什么是单页面应用

单页 Web 应用 (single-page application 简称为 SPA) 是一种特殊的 Web 应用。

它将所有的活动局限于一个 Web 页面中,仅在该 Web 页面初始化时加载相应的 HTML、JavaScript 和 CSS,一旦页面加载完成了,SPA 不会因为用户的操作而进行页面的重新加载或跳转,取而代之的是利用 JavaScript 动态的变换 HTML 的内容,从而实现 UI 与用户的交互。

由于避免了页面的重新加载,SPA 可以提供较为流畅的用户体验,得益于 ajax,我们可以实现无跳转刷新,又多亏了浏览器的 histroy 机制,我们用 hash 的变化从而可以实现推动界面变化,从而模拟元素客户端的单页面切换效果。

二、优缺点

SPA 被人追捧是有道理的,但是它也有不足之处,当然任何东西都有两面性,以下是卤煮 总结的一些目前 SPA 的优缺点:

1. 优点

  • 无刷新界面,给用户体验原生的应用感觉
  • 节省原生(android 和 ios)app 开发成本
  • 提高发布效率,无需每次安装更新包
  • 容易借助其他知名平台更有利于营销和推
  • 符合 web2.0 的趋势

2. 缺点

  • 效果和性能确实和原生的有较大差距
  • 各个浏览器的版本兼容性不一样
  • 业务随着代码量增加而增加,不利于首屏优化
  • 某些平台对 hash 有偏见,有些甚至不支持 pushstate
  • 不利于搜索引擎抓取

总结

Never to old to learn.