SPA架构的优点和缺点以及一些思考

SPA是什么?

全称是单页面应用。

一个SPA就是一个WEB应用,它所需的资源(HTML CSS JS等),在一次请求中就加载完成,也就是不需刷新地动态加载

用术语“单页”就是因为页面在初始化加载后就永远不会重新加载刷新

一些前端框架,如 Vue 就是 SPA 架构的,适合单页面开发。

 

优点

  1. 减轻服务器端的压力。

因为服务器先将一份包含了静态资源、JavsScript和模板的静荷数据(payload)发送到了客户端,之后客户端只需要获取渲染页面或视图所需要的数据即可。
payload就是起关键作用的资源

 

2. 提高了页面的渲染效果。

3. 由于移动设备的流行,可以开发提供JSON格式数据的网络服务,然后可以提供不同的客户端使用。

 

SPA的使用,我们可以使用一个HTTP API,一个HTTP API相比在服务端渲染一个HTML页面有诸多好处,这样就可以很方便的进行单元测试等操作,还可以被其他很多客户端程序所用。

 

SPA最大的好处就是大量的工作都在浏览器中完成,服务端承担更少的工作,这样就可以处理更多的请求。同时SPA需要额外的请求模版开销,我们可以通过预编译模版、缓存机制和将多个模板拼接成一个大的模板来减少请求数量。

缺点

  • 首屏加载时间会很长。
  • SEO不友好。

 

主要是因为SPA利用了hash片段实现路由,而利用hash片段不会作为HTTP请求中的一部分发送给服务器。

 

而SPA使用hash片段的目的是:当片段的内容发送变化时,浏览器不会像URI发送变化时那样发起新的网络请求这样就可以只请求页面或视图

 

 

原文地址:https://blog.csdn.net/AndyNikolas/article/details/78934160

  • 微信
  • 交流学习,有偿服务
  • weinxin
  • 博客/Java交流群
  • 资源分享,问题解决,技术交流。群号:590480292
  • weinxin
言曌

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: