文章來源:一路讀 http://www.yiludu.cn/
做了一些年的web開發,見到了一些web技術的革新和進步.作為從事b/s開發的人來說,是很欣慰的。
以前出現了一種ajax技術,應該是很有革新意義的,
Ajax應用程序的優勢在于:
1. 通過異步模式,提升了用戶體驗
2. 優化了瀏覽器和服務器之間的傳輸,減少不必要的數據往返,減少了帶寬占用
3. Ajax引擎在客戶端運行,承擔了一部分本來由服務器承擔的工作,從而減少了大用戶量下的服務器負載。
今天我說的google gears,我想也是一個技術革新.
最近的項目遇到一個問題,使用cdma網絡,對某一個數據的輸入需要實現google那樣輸入快速連動顯示的功能,
而數據量又有點大,要快速連動,幾乎不可能.
所以只能考慮一些新的技術,這就是google gears了。將數據庫本地化.
http://code.google.com/apis/gears/sample.html
這里有簡單詳細的例子,試用的感覺的確是不錯的。
他含有3個重要的模塊。
1,Database module就是本地數據,可以使用標準的sql語法操作,比如建表查詢刪除等等。
這樣很多常用數據我們都可以本地化存儲,不用每次都從server端下載,
提升了用戶體驗,減少不必要的數據往返.
特別是對網絡環境不好的。如果用戶在操作的時候斷網絡,就可以把輸入的數據現保存到本地庫,
后期網絡正常后在同步。
2,LocalServer module就是本地服務器,大家都知道b/s的文件都是存放在server端的,
不存在什么客戶端,如果網絡出了什么問題,那么系統也就不能訪問了,
LocalServer module就是為讓斷網的時候依然可以使用b/s系統,他將server端的一些文件存儲到本地.
比如我們要登記一個資料,以前沒有b/s的系統斷網了肯定不行,錄入的界面打不開,打開了也無法錄入提交到服務器.
用了LocalServer module,我們就可以在斷網的情況下打開錄入界面,然后錄入,然后使用Database module存儲,
網絡好了的時候在同步,我們也不用總是擔心數據沒及時錄入以免以后就忘記錄入了。
(這一點我們暫時沒有使用,和界面的設計有些關系,對我們的系統不太容易應用,有些界面暫時沒辦法本地化)
3,WorkerPool module.工作者池,這是一個最重要的模塊,用過pool技術的都知道,
就是pool中的各個主體獨自工作,這里的pool是實現了讓多個js在后臺異步運行互不干涉.
這樣用戶在使用系統的時候,是感受不到有js在運行的,以前js運行的時候,界面都是不可操作的,
必須要等js運行完了,才能做其他操作,使用WorkerPool module就可以解決這個問題,
比如在我們的系統中,要把服務器的數據庫(某個表)本地化,大概需要1個小時,
如果使用傳統的js來操作,界面就要運行一個小時(可能沒有響應),ie基本都是白屏.
這顯然是行不通的了,所有我們只能用WorkerPool module,在用戶沒有感覺的情況下,
在后臺通過ajax分段獲取到服務器的數據,然后啟動WorkerPool module寫入,效果感覺非常的不錯。
以上就是自己試用(也算是正式的用了)后的一點感受,和大家一起分享。
web開發,真的是其樂無窮。感謝哪些技術牛人。