第一点 :传统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.