SPA单页应用的优缺点
来源:互联网 发布:手柄 知乎 编辑:程序博客网 时间:2024/05/19 07:26
单页Web程序的出现是富客户端发展的必然结果,但是该技术也是有些局限性,所以采用之前需要了解清楚它的优缺点。
1、优点:
1).良好的交互体验
用户不需要重新刷新页面,获取数据也是通过Ajax异步获取,页面显示流畅。
2).良好的前后端工作分离模式
单页Web应用可以和RESTful规约一起使用,通过REST API提供接口数据,并使用Ajax异步获取,这样有助于分离客户端和服务器端工作。更进一步,可以在客户端也可以分解为静态页面和页面交互两个部分。
3).减轻服务器压力
服务器只用出数据就可以,不用管展示逻辑和页面合成,吞吐能力会提高几倍;
4).共用一套后端程序代码
不用修改后端程序代码就可以同时用于Web界面、手机、平板等多种客户端;
2、缺点:
1).SEO难度较高
由于所有的内容都在一个页面中动态替换显示,所以在SEO上其有着天然的弱势,所以如果你的站点对SEO很看重,且要用单页应用,那么就做些静态页面给搜索引擎用吧。
2).前进、后退管理
由于单页Web应用在一个页面中显示所有的内容,所以不能使用浏览器的前进后退功能,所有的页面切换需要自己建立堆栈管理,当然此问题也有解决方案,比如利用URI中的散列+iframe实现。
3).初次加载耗时多
为实现单页Web应用功能及显示效果,需要在加载页面的时候将JavaScript、CSS统一加载,部分页面可以在需要的时候加载。所以必须对JavaScript及CSS代码进行合并压缩处理,如果使用第三方库,建议使用一些大公司的CDN,因此带宽的消耗是必然的。
单页应用实现原理
单页应用是指在浏览器中运行的应用,在使用期间页面不会重新加载。当点击导航时,通过哈希监听事件,如果哈希发生了变化,则改变哈希值:window.location.hash,来调用相应的js文件。
相应的js文件里面可以放相应的数据模板,当用ajax请求并返回数据时,渲染模板,生成相应的DOM结构,再插入对应的page 的div中。
基本原理:以 hash 形式(也可以使用 History API 来处理)为例,当 url 的 hash 发生改变时,触发 hashchange 注册的回调,回调中去进行不同的操作,进行不同的内容的展示。
从性能和用户体验的层面来比较的话,后端路由每次访问一个新页面的时候都要向服务器发送请求,然后服务器再响应请求,这个过程肯定会有延迟。而前端路由在访问一个新页面的时候仅仅是变换了一下路径而已,没有了网络延迟,对于用户体验来说会有相当大的提升。
- SPA单页应用的优缺点
- spa单页的优缺点
- spa(单页面应用)的优缺点
- spa单页应用
- SPA 单页Web应用
- SPA 单页Web应用
- 单页Web应用(SPA)的简单介绍
- simple-spa 一个简单的单页应用实例
- simple-spa 一个简单的单页应用实例
- simple-spa 一个简单的单页应用实例
- simple-spa 一个简单的单页应用实例
- 关于单页应用(SPA)的经验之谈
- 单页web应用(SPA)的简单介绍
- SPA(Single-page application) 单页应用
- 【SPA】单页Web应用(一)
- 【SPA】单页Web应用(二)
- 【SPA】单页Web应用(三)
- SPA单页面应用
- 基于Android studio 2.2+ 向项目添加 C 和 C++ 代码并编译成so,指定ABI等全面的配置讲解
- pip安装模块,报 Fatal error in launcher: Unable to create process using '"' 错误
- 初步理解Crontab
- pdf压缩方法总结pdf如何减少体积方法
- String、StringBuffer,StringBuilder的区别
- SPA单页应用的优缺点
- CentOS修改mysql 用户root的密码并允许远程登录
- HISTTIMEFORMAT
- caffe-损失层-SoftmaxWithLossLayer 和SoftmaxLayer
- Ubuntu16.4环境初始化
- 使用swiper 出现闪屏问题
- Ajax不重新加载整个网页的情况下,对网页的某部分进行更新实例
- input标签file类型,选择多个文件进行上传
- Spring--hibernate整合_事务管理