小小

          IT
          數(shù)據(jù)加載中……
          初用Google Gears 有感

          文章來源:一路讀 http://www.yiludu.cn/

          做了一些年的web開發(fā),見到了一些web技術(shù)的革新和進(jìn)步.作為從事b/s開發(fā)的人來說,是很欣慰的。
          以前出現(xiàn)了一種ajax技術(shù),應(yīng)該是很有革新意義的,
          Ajax應(yīng)用程序的優(yōu)勢在于:
            1. 通過異步模式,提升了用戶體驗(yàn)
            2. 優(yōu)化了瀏覽器和服務(wù)器之間的傳輸,減少不必要的數(shù)據(jù)往返,減少了帶寬占用
            3. Ajax引擎在客戶端運(yùn)行,承擔(dān)了一部分本來由服務(wù)器承擔(dān)的工作,從而減少了大用戶量下的服務(wù)器負(fù)載。

          今天我說的google gears,我想也是一個(gè)技術(shù)革新.

          最近的項(xiàng)目遇到一個(gè)問題,使用cdma網(wǎng)絡(luò),對某一個(gè)數(shù)據(jù)的輸入需要實(shí)現(xiàn)google那樣輸入快速連動(dòng)顯示的功能,
          而數(shù)據(jù)量又有點(diǎn)大,要快速連動(dòng),幾乎不可能.

          所以只能考慮一些新的技術(shù),這就是google gears了。將數(shù)據(jù)庫本地化.
          http://code.google.com/apis/gears/sample.html
          這里有簡單詳細(xì)的例子,試用的感覺的確是不錯(cuò)的。

          他含有3個(gè)重要的模塊。
          1,Database module就是本地?cái)?shù)據(jù),可以使用標(biāo)準(zhǔn)的sql語法操作,比如建表查詢刪除等等。
          這樣很多常用數(shù)據(jù)我們都可以本地化存儲,不用每次都從server端下載,
          提升了用戶體驗(yàn),減少不必要的數(shù)據(jù)往返.
          特別是對網(wǎng)絡(luò)環(huán)境不好的。如果用戶在操作的時(shí)候斷網(wǎng)絡(luò),就可以把輸入的數(shù)據(jù)現(xiàn)保存到本地庫,
          后期網(wǎng)絡(luò)正常后在同步。

          2,LocalServer module就是本地服務(wù)器,大家都知道b/s的文件都是存放在server端的,
          不存在什么客戶端,如果網(wǎng)絡(luò)出了什么問題,那么系統(tǒng)也就不能訪問了,
          LocalServer module就是為讓斷網(wǎng)的時(shí)候依然可以使用b/s系統(tǒng),他將server端的一些文件存儲到本地.
          比如我們要登記一個(gè)資料,以前沒有b/s的系統(tǒng)斷網(wǎng)了肯定不行,錄入的界面打不開,打開了也無法錄入提交到服務(wù)器.
          用了LocalServer module,我們就可以在斷網(wǎng)的情況下打開錄入界面,然后錄入,然后使用Database module存儲,
          網(wǎng)絡(luò)好了的時(shí)候在同步,我們也不用總是擔(dān)心數(shù)據(jù)沒及時(shí)錄入以免以后就忘記錄入了。
          (這一點(diǎn)我們暫時(shí)沒有使用,和界面的設(shè)計(jì)有些關(guān)系,對我們的系統(tǒng)不太容易應(yīng)用,有些界面暫時(shí)沒辦法本地化)

          3,WorkerPool module.工作者池,這是一個(gè)最重要的模塊,用過pool技術(shù)的都知道,
          就是pool中的各個(gè)主體獨(dú)自工作,這里的pool是實(shí)現(xiàn)了讓多個(gè)js在后臺異步運(yùn)行互不干涉.
          這樣用戶在使用系統(tǒng)的時(shí)候,是感受不到有js在運(yùn)行的,以前js運(yùn)行的時(shí)候,界面都是不可操作的,
          必須要等js運(yùn)行完了,才能做其他操作,使用WorkerPool module就可以解決這個(gè)問題,
          比如在我們的系統(tǒng)中,要把服務(wù)器的數(shù)據(jù)庫(某個(gè)表)本地化,大概需要1個(gè)小時(shí),
          如果使用傳統(tǒng)的js來操作,界面就要運(yùn)行一個(gè)小時(shí)(可能沒有響應(yīng)),ie基本都是白屏.
          這顯然是行不通的了,所有我們只能用WorkerPool module,在用戶沒有感覺的情況下,
          在后臺通過ajax分段獲取到服務(wù)器的數(shù)據(jù),然后啟動(dòng)WorkerPool module寫入,效果感覺非常的不錯(cuò)。


          以上就是自己試用(也算是正式的用了)后的一點(diǎn)感受,和大家一起分享。

          web開發(fā),真的是其樂無窮。感謝哪些技術(shù)牛人。

          posted on 2008-09-21 01:12 小小it 閱讀(252) 評論(0)  編輯  收藏 所屬分類: 技術(shù)文章

          主站蜘蛛池模板: 柳河县| 天峻县| 亚东县| 盘山县| 郎溪县| 东阳市| 元阳县| 建德市| 岳阳市| 韩城市| 日喀则市| 苏尼特左旗| 靖安县| 利川市| 佛冈县| 万源市| 博白县| 华容县| 固始县| 蓬莱市| 岳西县| 肇东市| 历史| 丘北县| 安岳县| 土默特左旗| 谷城县| 交口县| 六枝特区| 新邵县| 定结县| 乐清市| 蕉岭县| 灵武市| 诸暨市| 汉中市| 阜康市| 西丰县| 昌乐县| 阳新县| 老河口市|