Single Page Application概览
第一点 :传统web应用遇到的2个问题
1.User Experience 用户体验
2.Performance 性能问题
SPA如何解决这些问题的:
不重新加载页面,交互尽可能使用一个web document对象。
用户体验变得更加的连续和流畅,同时网络延时带来的影响也很容易忽略。
第二点: 有一下技术方法可以用来,发送请求给服务器。
客户端技术
1.AJAX技术,采用jQuery ajax请求可以做跨浏览器兼容问题,未来的一个趋势。
2.Browser Plugins 向服务器异步发送请求 Silverlight,Flash和Java Applets技术
中间数据传输格式:
XML(XSLT)JSON(using the JavaScript to update the partial area of DOM)
服务器端技术:
提供给客户端数据API或者web service。当然API或者web service可以接收参数的传递
ASP.NET Web API技术和Web Service技术,升级版的WCF技术。
第三点: 在本地运行
借助HTML5的Web storage技术
第四点: SPA应用的挑战
1.SEO
2.Browser history 浏览器历史记录
HTML5 specification中介绍了pushState和replaceState来处理实际的URL地址和浏览器历史记录问题。
第五点:页面的生命周期
库介绍
客户端类库介绍:
Backbone.js: A client side Model-View-Controller(MVC) library.
Knockout.js : A JavaScript library that helps provide two way data binding fro web apps, inlcuding SPAs.
服务器端类库介绍
ItsNat
ZK:Java RIA AJAX framework, simulates a XUL desktop page in the server. This is rendered as HTML to the browser with event handlers running over AJAX on the server.
GWT技术:
客户端和服务器类库介绍
Derby和Exo
开发工具:
Omnis Studio.
引用:
http://en.wikipedia.org/wiki/Single-page_application
- ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式
- python访问http的GET/POST
- 用openssl库RSA加密解密
- Kobject浅析
- ASP.NET Core应用的错误处理[2]:DeveloperExceptionPageMiddleware中间件如何呈现“开发者异常页面”
- RSA简介(二)——模幂算法
- 为虚拟机vCPU绑定物理CPU
- RSA简介(三)——寻找质数
- RSA简介(四)——求逆算法
- 平方根的C语言实现(三) ——最终程序实现
- ASP.NET Core应用的错误处理[3]:ExceptionHandlerMiddleware中间件如何呈现“定制化错误页面”
- 【视频】Es6新特性-Symbol
- shell编程/字库裁剪(3)——验证
- 特征选择(Feature Selection)引言
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- js键盘键值大全
- mysql用户创建+密码修改+删除用户+角色分配 的正确姿势 实践笔记
- Centos7 安装 Nginx 的正确姿势 并设置开机自启 实践笔记
- js函数大全(2)
- HTML之打开/另存为/打印/刷新/查看原文件等按钮的代码
- Centos7 安装 Keepalived+Nginx 双机热备HA 的正确姿势 并开机自启 实践笔记
- 从 findbugs-maven-plugin 到 spotbugs-maven-plugin 帮你找到代码中的bug
- nmap常用命令检查主机在线与在线主机端口开放情况
- 想做测试工程师的可以看看
- nginx 实现Web应用程序的负载均衡
- 线上遇到nginx Cors跨域请求OPTIONS方法405 Method Not Allowed问题
- 常见Linux命令的正确打开姿势 实践笔记 更新中
- 用gogs轻松搭建个人的git服务器
- Centos7 activemq启动失败 解决 的正确姿势 实践笔记
- 所谓并发编程,所谓有其三