单页应用的优缺点

  • 1.优点
    而单页应用则是一次性把web应用的所有代码(HTML,JavaScript和CSS)全部请求过来,有时候考虑到首屏加载太慢会按需加载。这样一来,以后用户的每一个动作都不会重新加载页面(即不用再问服务器要页面的HTML,css和js代码),取而代之的是利用 JavaScript 动态的变换HTML的内容(这不需要和服务器交互,除非数据是动态,那么只需要问服务器要数据即可)。

  • 单页应用优点的小小总结:

  • 1.分离前后端关注点,前端负责界面显示,后端负责数据存储和计算,减轻服务器压力,服务器只用出数据就可以,而且不会把前后端的逻辑混杂在一起;

  • 2.API共享,后端API通用化,服务如果是多端的(浏览器端、Android、iOS、微信等),单页应用的模式便于你在多个端共用 API,可以显著减少服务端的工作量;

  • 3.用户体验好、快,内容的改变不需要重新加载,提升了用户体验;

  • 4.前端组件化,前端开发不再以页面为单位,更多地采用组件化的思想,代码结构和组织方式更加规范化,便于修改和调整。

2.缺点
单页应用缺点的小小总结:

1.首次加载耗时较多,需加载大量的资源
2.导航不可用,由于单页Web应用在一个页面中显示所有的内容,所以不能使用浏览器的前进后退功能
3.对搜索引擎(SEO)不友好
原因:单页应用实际是把视图(View)渲染从Server交给浏览器,Server只提供JSON格式数据,视图和内容都是通过本地JavaScript来组织和渲染。而搜索搜索引擎抓取的内容,需要有完整的HTML和内容(搜索引擎只认识html里的内容,不认识js的内容)单页应用架构的站点,并不能很好的支持搜索,会导致单页应用做出来的网页在百度和谷歌上的排名差。

单页应用SPA的优缺点相关推荐

  1. Vue单页应用(SPA)及其优缺点

    一.什么是单页面应用和多页应用? 单页应用:只有一个主页面的应用,一开始只需要加载一次js.css等相关资源.单页应用跳转,就是使用路由跳转切换相关组件,仅刷新局部资源. 多页应用:多个独立的页面的应 ...

  2. 单页应用 (SPA)

    1.什么是单页应用? 单页Web应用(single page web application,SPA),就是只有一张Web页面的应用,是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的W ...

  3. 单页面应用SPA的优缺点

    单页面应用SPA的优缺点

  4. 基于jQuery/zepto的单页应用(SPA)搭建方案

    这里介绍一个基于jquery或zepto的单页面应用方案,遵循尽可能简单的原则,使大家一目了然,只需配置一个路由,之后完全按照jq日常写法即可完成.可做学习使用,也可修改后用于一些业务逻辑简单的spa ...

  5. 前端学习(1510):单页应用SPA实现原理

  6. 前端学习(1509):单页应用SPA特点

  7. 单页(SPA)首页白屏优化

    背景:由于目前线上版本的h5加载一直很慢,于是趁着最近有空就打算优化一下,首先打开network分析影响加载速度的文件有哪些. 看原文件大小有接近1.4m,不能忍!!! 注意: 1.博主这里用的vue ...

  8. 单页应用的优缺点_单页和多页应用程序之间的优缺点

    单页应用的优缺点 Currently, there are two ways of building websites: as multi-page applications (MPAs) or as ...

  9. api存在csrf攻击吗_使用rest api防止单页应用上的csrf攻击

    api存在csrf攻击吗 tl;dr - If your SPA uses a private REST API, use CORS and a CSRF Token header. If your ...

最新文章

  1. 新增的querySelector、querySelectorAll测试
  2. 【错误记录】jar 执行错误 ( java.lang.UnsupportedClassVersionError: Unsupported major.minor version 52.0 )
  3. QT导入libcurl
  4. 算法那么重要,你还不会?ACM金牌选手教你学习数据结构与算法
  5. 随机信号的傅里叶分析
  6. P3389-[模板]高斯消元法
  7. java vm art_Android虚拟机art流程:JavaVM 和 JNIEnv 的初始化 - 神农笔记
  8. VS 2012 单元测试简单配置
  9. iOS研发助手DoraemonKit技术实现之Crash查看
  10. sr650安装linux网卡驱动,SR650安装Windows2016添加RAID卡驱动
  11. httpclient-4.3.6工具类,方便直接使用
  12. plc和c语言和cnc,CNC是什么意思? CNC 和 PLC的区别?
  13. log4j2的一些配置,为某个类某个方法单独文件打印日志,定时删除日志和springboot的logback日志单独类打印
  14. 软件测试 - 测试基础知识
  15. css实现渐变色字体
  16. html文字加描边效果,怎么用css给文字加描边?
  17. arm的2级页表在Linux内核创建过程解析
  18. C语言:输出100-200之间的素数
  19. 【Hbuilder】Hbuilder 原生App-云打包,报错需要打包校验
  20. 抓取国外网站数据合法吗?法律分析

热门文章

  1. 海思HI3516DV300 实现YOLOv3实时识别
  2. 从唱歌到作诗书法,腾讯AI Lab虚拟人艾灵技能再进化
  3. 使用k9s来加速Kubernetes集群的管理
  4. 安装完waves11之后电脑无声音了
  5. C语言进阶--自定义类型:结构体,枚举,联合
  6. 【ubuntu】virtualbox安装增强功能时【未能加载虚拟光盘】
  7. 万字Java知识地图助你成为Offer收割机
  8. 计算机二级考试操作题在线,计算机二级考试Excel操作考试题
  9. 从00-90后的微信昵称,发现如下规律。。。
  10. JS数据库:手机处理器列表