说说你对 SPA 单页面的理解,它的优缺点分别是什么?

SPA( single-page application )仅在 Web 页面初始化时加载相应的 HTML、JavaScript 和 CSS。

一旦页> 面加载完成,SPA 不会因为用户的操作而进行页面的重新加载或跳转;

取而代之的是利用路由机制实现 > HTML 内容的变换,UI 与用户的交互,避免页面的重新加载。

    • 优点:
      用户体验好、快,内容的改变不需要重新加载整个页面,避免了不必要的跳转和重复渲染;
      基于上面一点,SPA 相对对服务器压力小;
      前后端职责分离,架构清晰,前端进行交互逻辑,后端负责数据处理;
    • 缺点:
      初次加载耗时多:为实现单页 Web 应用功能及显示效果,需要在加载页面的时候将 JavaScript、CSS 统一> 加载,部分页面按需加载;
      前进后退路由管理:由于单页应用在一个页面中显示所有的内容,所以不能使用浏览器的前进后退功能,所> 有的页面切换需要自己建立堆栈管理;
      SEO 难度较大:由于所有的内容都在一个页面中动态替换显示,所以在 SEO 上其有着天然的弱势。

原文地址:https://www.cnblogs.com/Rivend/p/12620066.html

时间: 2024-08-29 18:40:51

说说你对 SPA 单页面的理解,它的优缺点分别是什么?的相关文章

SPA单页面应用router实现

spa 单页面router 主要可以基于两种方式实现:修改哈希和直接修改url 1.根据在使用location 修改哈希的时候,页面不会刷新(angular1.x 路由采用) 2.根据h5 pushState 和replaceState 修改url 时,页面不会刷新(react-router.vue-router) pushState/replaceState 执行时,url 会发生变化,但是浏览器并不会刷新,只有当前进或者后退触发时,页面才会刷新 pushState/replaceState

快速了解SPA单页面应用

简要 SPA单页网页应用程序这个概念并不算新,早在2003年就已经有在讨论这个概念了,不过,单页应用这个词是到了2005年才有人提出使用,SPA的概念就和它的名字一样显而易懂,就是整个网站不再像传统的HTML网页一样,需要每做一个动作就更新一次网页,而是像传统的电脑软件一样,只变更显示的内容而不需变更整个网页!概念很简单,但是,事实上却有不少的问题要考虑. 理解单页面应用 简单来说SPA的网页只会有一个网页,而这个网页的设计方式要能够回应使用者所使用的各种装置并且复制使用者在电脑上使用软件的经验

spa单页面应用(angular)

本篇文章是对单页面的一个简单的基本逻辑操作,这个方法可以搭建基本的单页面的逻辑结构. 简单理解:单页面应用,锚点值切换,一个路由对应一个页面. 路由:此时会创建一个信息保存路由的信息,之后对页面a标签进行操作,会进入路由表中查找与之匹配的路由信息. ----html <div> <a href='#/news'>跳转到news</a> <a href='#/share'>跳转到share</a> <router-view></r

SPA 单页面应用程序。

看到这个问题,先说下自己的理解到的程度,再去参考做修正,争取这一次弄懂搞清楚 自己的理解: 单页面应用程序,解决浏览器获取数据刷新页面的尴尬,通过ajax请求获取数据达到异步更新视图的按钮,原理的实现由两种, 其一,通过hash值的变化,绑定onhashchange的回调函数更新视图,因为hash值的变化不会让页面失去响应,不会向服务器发送请求.下面列出几种可能改变hash值的方法,改变url中的hash.浏览器回退按钮可能出现历史记录中的url包含的hash值不一样,都将触发该事件:还有触发带

SPA单页面优缺点

优点: 1.体验好,不刷新,减少 请求  数据ajax异步获取 页面流程: 2.前后端分离 3.减轻服务端压力 4.共用一套后端程序代码,设配多端 缺点: 1.首屏加载过慢: 2.SEO 不利于搜索引擎抓取 2解决办法:VUE  SSR  只是解决SEO问题: 1解决方法:路由图片.懒加载.js按需加载.使用cdn.js放在body后边.压缩代码.移除console .debugger; 异步组件(const  aa=resolve =>require(['../xxx/xx']),resolv

通过Blazor使用C#开发SPA单页面应用程序(4) - Ant Design Button

前面学习了Blazor的特点.环境搭建及基础知识,现在我们尝试的做个实际的组件. Ant Design是蚂蚁金服是基于Ant Design设计体系的 UI 组件库,主要用于研发企业级中后台产品.目前官方是基于React和Angular实现的,今年也推出了Vue的实现.其组件涵盖面较广,其组件风格及交互效果还是比较惊艳的,后面准备利用Ant Design的样式文件利用Blazor模仿几个组件的实现. 由于也是新学的Blazor开发,可能实现的方式有些笨拙,希望高手提出宝贵意见,先看看实现的Butt

SPA设计与架构-理解单页面Web应用 (埃米顿.A斯科特) 中文pdf扫描版

SPA 开发技术的运用是当今Web 开发领域的热门趋势,但真正全面掌握该技术的开发者并不多.本书详尽阐述单页面Web 应用(SPA)开发技术,从SPA 构建基础入手,通过MV*.模块化编程.路由.模块间通信.服务器端交互等概念的阐述,全面介绍SPA 的设计与架构,帮助读者正确掌握SPA 开发的各方面知识要素.同时,<SPA设计与架构:理解单页面Web应用>中还讨论了SPA 的单元测试及客户端任务自动化,覆盖了从开发到部署的一系列任务,让读者在阅读完<SPA设计与架构:理解单页面Web应用

单页面应用SPA架构

个人认为单页面应用的优势相当明显: 前后端职责分离,架构清晰:前端进行交互逻辑,后端负责数据处理. 前后端单独开发.单独测试. 良好的交互体验,前端进行的是局部渲染.避免了不必要的跳转和重复渲染. 当然,SPA也有它自身的缺点,例如不利于搜索引擎优化等等,这些问题也有其相应的解决方案. 下面要介绍的这种方式可以说是一种模式或者工作流,和前端使用什么框架无关,也和后端使用什么语言.数据库无关.不能说是The Best Practice,我相信经过更多人的讨论和思考会有A Better Practi

单页面应用(SPA)

此篇我们来瞅一瞅SPA,啥是SPA啊,实际上一点也不神秘,就是单页应用,可能有的同学又会问了,啥是单页面应用,别着急,我们慢慢来看 首先我们先来了解一下单页应用出现背景 背景: 在早期的 Web 应用中,前端的作用很弱,业务逻辑和数据处理都在后端,后端给前端返回一个 HTML 页面,前端只负责展示.在这种模式下,单个 HTML 页面被当做一个功能原件,表单提交,超链接跳转都可以用来重新请求新的 HTML 页面,从而达到给用户展示新的页面的目的.在这种方式中,你可以感觉到页面总是在不停的刷新,一个