SPA应用的优缺点

定义

  单页 Web 应用 (single-page application 简称为 SPA) 是一种特殊的 Web 应用。它将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HTML、JavaScript 和 CSS。一旦页面加载完成了,SPA不会因为用户的操作而进行页面的重新加载或跳转。取而代之的是利用 JavaScript 动态的变换HTML的内容,从而实现UI与用户的交互。由于避免了页面的重新加载,SPA 可以提供较为流畅的用户体验。

优点

  1. 良好的交互体验
    前端进行的是局部的渲染,避免了不必要的跳转和重复的渲染。
  2. 前后端职责业分离(前端负责view,后端负责model),架构清晰
    单页web应用可以和RESTful规约一起使用,通过REST API提供接口数据,并使用Ajax异步获取,这样有助于分离客户端和服务器的工作。
  3. 减轻服务器的压力
    服务器只需要提供数据,不需要管前端的展示逻辑和页面合成,提高了 性能
    SPA应用中服务器可以先将一份包含静态资源(HTML CSS JS等)的静荷数据(payload)发送给客户端,之后客户端只需要获取渲染页面或视图数据即可,
  4. 共用一套后端程序代码
    不用修改后端程序代码就可以同时用于web界面、手机、平板灯多种客户端

缺点

  1. SEO(搜索引擎优化)难度高
    由于所有内容都在一个页面中进行动态的替换,也就是利用hash片段实现路由,而利用hash片段不会作为HTTP请求中的一部分发送给服务器,所以在SEO上有着天然的弱势
     而SPA使用哈市片段的目的是;片段内容发送变化时,浏览器不会像URL发送变化时那样发送请求,这样就可以只请求页面或渲染所需的数据,而不是每一个页面获取并解析整份文档
  2. 首次加载时间过长
    为实现单页Web应用功能及显示效果,需要在加载页面使将js、CSS统一加载,部分页面按需加载。
  3. 页面复杂都提高,复杂逻辑程度成倍
    由于后端只提供数据而不再管前端的展示逻辑和页面合成,所以这些展示逻辑和页面合成都需要在前端进行编写(前进、后退等),所以会大大提高页面的复杂性和逻辑的难度
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值