第一點 :傳統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.
引用: