快速了解SPA单页面应用
- 简要
SPA单页网页应用程序这个概念并不算新,早在2003年就已经有在讨论这个概念了,不过,单页应用这个词是到了2005年才有人提出使用,SPA的概念就和它的名字一样显而易懂,就是整个网站不再像传统的HTML网页一样,需要每做一个动作就更新一次网页,而是像传统的电脑软件一样,只变更显示的内容而不需变更整个网页!概念很简单,但是,事实上却有不少的问题要考虑。
- 理解单页面应用
简单来说SPA的网页只会有一个网页,而这个网页的设计方式要能够回应使用者所使用的各种装置并且复制使用者在电脑上使用软件的经验,让使用者可以更容易和有效率的使用网站。怎么理解这句话呢?按照正常情况下我们会在一个页面中链接到其他的很多个页面,进行页面的跳转,但是如果我们使用单页面应用的话,我们始终在一个页面中,通常使用a标签的描点来实现。
- 单页面应用的优缺点
其实并不是所有开发者都觉得网页要以SPA的方式来开发,因为,有部份的人认为以SPA方式开发的网站不容易管理也不够安全,而且,因为没有了一页一页的网页给搜寻引擎的爬虫来爬,所以,在搜寻引擎最佳化(SEO)的工作上,需要花费额外的功夫才行,同时,因为没有换页,因此,需要自定状态来取代传统网页程序以网址来做判断!
SPA的需求应该是一直都有存在的,像网页游戏的网页就是一个明显的SPA的例子,只不过,在这之前,要写出SPA这样的网页的话,都是需要透过浏览器安装Flash之类的外挂来达成。
不过,近来拜HTML5 + CSS3 + Javascript UI Framework之赐,只要使用支持HTML5和CSS3的浏览器就可以执行复杂的SPA,因此,开发人员不必为了撰写SPA网站而特别学习另一种开发方式,而使用者也不用额外安装软件,所以,让开发SPA网页程式的入门和使用门槛降低不少! 不过,虽然SPA的开发和使用变的容易,但是,大部份的人有这样的想法,就是在现阶段来说,并不是所有的网站都适合采用SPA的方式来开发,而是像游戏和需要较多使用者操作的网页程式应该会比较合适,还有,就是需要被使用在不同装置的网页会比较有需要,而如果是一般的网页网站或单纯的内容网站的话,就不太适合,因为花费时间来将这类型的网站转换成SPA网站的话,并不一定会有比较好的效果和反应!
快速了解SPA单页面应用的更多相关文章
- Java快速开发平台强大的代码生成器,JEECG 3.7.5 VUE+ElementUI SPA单页面应用版本发布
JEECG 3.7.5 VUE+ElementUI SPA单页面应用版本发布 此版本为Vue+ElementUI SPA单页面应用版本,提供新一代风格代码生成器模板,采用Vue技术,提供两套精美模板E ...
- AngularJs(SPA)单页面SEO以及百度统计应用(上)
只有两种人最具有吸引力,一种是无所不知的人,一种是一无所知的人 问:学生问追一个女孩总是追不上怎么办?回答:女孩不是追来的,是吸引来的,你追的过程是吸引女孩的过程,如果女孩没有看上你,再追都是没有用的 ...
- 通过Blazor使用C#开发SPA单页面应用程序(3)
今天我们来看看Blazor开发的一些基本知识. 一.Blazor组件结构 Blazor中组件的基本结构可以分为3个部分,如下所示: //Counter.razor //Directives secti ...
- 快速构建H5单页面切换骨架
在Web App和Hybrid App横行的时代,为了拥有更好的用户体验,单页面应用顺势而生,单页面应用简称`SPA`,即Single Page Application,就是只有一个HTML页面的应用 ...
- 快速构建H5单页面切换应用
在Web App和Hybrid App横行的时代,为了拥有更好的用户体验,单页面应用顺势而生,单页面应用简称`SPA`,即Single Page Application,就是只有一个HTML页面的应用 ...
- 只需要4步就可以将asp.net mvc变成SPA(单页面)应用,实现无刷新页面切换!
SENNA.js Senna.js是一个超快速的单页面应用程序引擎,轻松构建基于Web的现代应用程序,只有大约8KB的JavaScript而没有任何依赖性.还提供非常酷炫的动画效果.想要详细了解的朋友 ...
- SPA单页面应用
什么是单页应用 单页Web应用,就是只有一张Web页面的应用.浏览器一开始会加载必需的HTML.CSS和JavaScript,之后所有的操作都在这张页面完成,这一切都由JavaScript来控制.因此 ...
- SPA(单页面web应用程序)
单页web应用(single page web application,SPA),就是只有一张web页面的应用,是加载单个HTML页面并在用户与应用程序交互时动态更新该页面的web应用程序. 浏览器一 ...
- 通过Blazor使用C#开发SPA单页面应用程序(1)
2019年9月23——25日 .NET Core 3.0即将在.NET Conf上发布! .NET Core的发布及成熟重燃了.net程序员的热情和希望,一些.net大咖也在积极的为推动.NET Co ...
随机推荐
- Python中的random模块,来自于Capricorn的实验室
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- (转)如何为你的Viewcontroller瘦身
View controllers are often the biggest files in iOS projects, and they often contain way more code t ...
- delayed ack与nagle's算法
delayed ack和nagles算法都能减少tcp传输过程中的小数据包的问题 tcpip卷二25章中提到tcp为每个连接建立7个定时器: 1.connection established 2.re ...
- swift的运算符
1.什么是运算符?它有什么作用? 运算符是一种特定的符号或者表达式.它用来验证.修改.合并变量. 2.运算符有哪些? 运算符有很多,很多朋友学的很烦.这里我依据它的作用把它分为几块来介绍: a:赋值运 ...
- Mac 识别NTFS移动硬盘
下载工具 TUXERA NTFS 2014
- explode,split,preg_split性能比较
explode,split,preg_split性能比较 分类: php2012-07-12 09:46 1109人阅读 评论(1) 收藏 举报 三个函数都是用来对字符串进行分割,下面分几个实验来 ...
- div错位/解决IE6、IE7、IE8样式不兼容问题
IE6里DIV错位的问题 原文:chinafine 采用”FLOAT:LEFT“的DIV在IE8.IE7.都没问题,IE6下却向下移动,出现空白.这是因为,IE6采用的内核默认把DIV之间的距离 ...
- 在CentOS上搭建svn服务器及注意事项
系统环境 CentOS 5.9 推荐使用yum install安装,比较简单 一.检查是否已经安装其他版本svn # rpm -qa subversion #卸载svn # yum remove ...
- Java jstatd详解
jstatd 命令全称: Virtual Machine jstat Daemon DESCRIPTION The jstatd tool is an RMI server application ...
- ajax跟取后台 josn 之 josn理解
json是一种轻量级的数据交换格式,是 JavaScript 原生格式,是理想的数据交换格式. 1.json对象json对象以“{”开始 , 以“}”结束,每个“名称”后跟一个“:”(冒号),‘名:值 ...