说到SPA,很多人只是在使用,不知道为什么使用?别人再用,所以,我也再用,流行,听到了,所以,我用。

SPA--------single page application。单页面应用,即一个web项目就只有一个页面(即一个HTML文件),对应传统的做网站或者web应用的人来说,觉这不可以思议------怎么可能,一个项目就一个html页面。那跳转怎么办?页面结构不一样怎么办?等等,一大堆问号就来了,想不通啊。

其实,单页面应用,就是把整个项目的所有页面的所有内容分成了很多的小块(就是组件),可以重复利用的,可以任意调整的组件,每个组件就是一个独立的部分(包括html,css和javascript代码)。再做一个html(基本上啥也没有),这个html就是一个页面容器,需要放那个组件时,直接引入就行。跳转时,直接跳转组件就行。当需要加载某个组件时,js会动态创建这些组件里的HTML,CSS。还是一头雾水。

还是先来了解一下,单页面应用的好处,你才有兴趣深入了解单页面应用,否则,你是不愿意接近它的。

还得简单先说一下,多页面应用(其实,就是以前传统的web开发,有了单页面应用,才把以前的传统web开发叫作单页面应用)。有了对比就有了伤害,多页面应用的缺点:每次进入新的页面,都需要向服务器发送请求,要整个页面的所有代码。而且,多次操作后,再次进入该页面时,还得再次请求。不但浪费了网络流量,更重要的是有延迟,用户友好性,用户体验不好。

几乎每一个响应动作都会刷新整个页面 (啊 …………………………)

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

如果你想懂得以前的桌面应用开发(叫C/S开发),那么,你就知道SPA是停接近桌面应用开发。

如果你想了解企业级开发的历史,以及桌面应用开发,web多页面开发,SPA之间的关系和发展,请回复我,你的回复是我继续写下去的动力!

SPA,什么是单页面应用,为什么要使用单页面应用,单页面应用有啥好处相关推荐

  1. 留言提交成功页面html,织梦自定义表单自动获取用户IP、提交时间、留言页面的方法...

    织梦的自定义表单功能很好用.下面讲解如何利用织梦自定义表单自动获取用户IP.提交时间.留言页面,并转发邮箱. 第一步,在织梦后台新建自定义表单.并添加字段:uname(姓名).utel(电话).uip ...

  2. jsp 构建单页应用_如何使用服务器端Blazor构建单页应用程序

    jsp 构建单页应用 介绍 (Introduction) In this article, we will create a Single Page Application (SPA) using s ...

  3. ajax form表单提交_开发日志:金数据表单自动提交脚本

    最近学校要求我们每天通过一个在线表单打卡自己在家做的体育课项目,在提交的时候我突然想了下如果能有一个自动的系统每天帮我自动打卡岂不是能省很多时间?而且我一直很想学Python的网络爬虫以及服务器后端的 ...

  4. java工单系统源码_基于jsp的工单管理系统-JavaEE实现工单管理系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的工单管理系统, 该项目可用各类java课程设计大作业中, 工单管理系统的系统架构分为前后台两部分, 最终实现在线上 ...

  5. html 表单提交 地址栏 显示=%cc%ed%bc%d3 ,html--表单(示例代码)

    表单 表单的结构: 控件 表单的属性: 1.name:表单的识别名称,一个页面有多处表单,通过表单的识别名称来辨认你提交的是哪个表单的数据 2.action:表单数据传递到后端的路径 3.mehod: ...

  6. java自动下发工单源码_PESCMS Ticket开源客服工单系统 v1.3.5

    PESMCS Ticket(下称PT)是一款基于GPLv2协议发布的开源客服工单系统.除了传统的站内工单提交模式,我们以全新的设计理念,基于Javascript语言开发的跨域工单提交.实现在任何系统. ...

  7. 选择一个表单生成器:比较7种最佳WordPress表单生成器

    如果您拥有WordPress网站,则有时甚至需要一个Web表单,即使它只是一个简单的联系表单. 届时, WordPress表单生成器插件将是您最好的朋友,但是您如何决定在可用的大量表单生成器中最有效地 ...

  8. 小兔鲜注册页面验证、阶段案例(登录、首页页面)(重点)、小兔鲜放大镜效果——DOM

    目录 1. 小兔鲜注册页面验证 2. 阶段案例(登录.首页页面)(重点) 3. 小兔鲜放大镜效果 1. 小兔鲜注册页面验证 验证码模块有个小问题: 连续点击获取验证码会导致触发多次计时器,会导致计时出 ...

  9. 表单防止多次提交php,php防止表单重复提交

    后端防止重复提交的基本原理: 服务器返回表单页面时,会先生成一个subToken保存于session,并把该subToen传给表单页面.当表单提交时会带上subToken,服务器获取表单信息判断ses ...

  10. vue表单提交数组_ajax传递数组、form表单提交对象数组

    在JSP页面开发中,我们常常会用到form表单做数据提交,由于以前一直只是使用form表单提交单个对象,只要表单文本域的name值和接收的对象的属性名一致,那么传值就没有什么问题.不过,在前几天的开发 ...

最新文章

  1. python基础——继承与派生、组合
  2. oracle 查重复_日常答疑|MySQL删除重复数据踩过得坑
  3. LongFormer:用稀疏自注意力拓展模型文本容纳量
  4. (原+转)ubuntu终端输出彩色文字
  5. 不对应该是撒尿C++五子棋
  6. 将$type添加到System.Text.Json序列化中,就像Newtonsoft那样用于动态对象属性
  7. HDU 5768 Lucky7 (中国剩余定理+容斥)
  8. Laravel Event模块分析
  9. linux进程属性,linux进程属性
  10. PIFA-平面倒F天线[搬运]
  11. .net mvc 文件压缩打包下载
  12. 递归求地铁两站间最短路径
  13. 考研 数学1 2 3 区别
  14. 护卫神备份mysql_护卫神好备份系统数据库怎么备份?
  15. Elasticsearch5基于completion suggester实现提示词(类京东淘宝)
  16. Java多线程--深入浅出Java多线程
  17. SQLyog下载、安装
  18. atm柜员机模拟程序c语言,ATM自动取款机模拟程序
  19. Excel文件打开时提示连接被禁用却找不到连接
  20. Flutter学习笔记-使用decoration对Container装饰边框(圆角边框)

热门文章

  1. UVa1103古代象形符号
  2. mysql纯数字用什么类型_用幸运数字起名美到极致,个性又独特,你的幸运数字是什么?...
  3. 从蜂拥而上到纷纷退场,AI芯片谁在“裸泳”?
  4. 第一天---计算机基础--支润泽
  5. SFX: constructing constants
  6. 欢迎加入微信交流群交流
  7. 攻防世界PWN之house_of_grey题解
  8. ImportError: cannot import name ‘imresize‘
  9. 【经验】Chrome网络代理插件SwitchyOmega安装
  10. Oracle Cloud Shell(甲骨文云Shell)+ FRP(反向代理)实现防火墙穿透,内网端口映,射公网