Google Gears運作架構

Tags:
researcher

This site has been moved to dreamerslab.com

本站已經移至 dreamerslab.com

Google Gears是Google推出的一款瀏覽器插件,使原本得要連上網路才能作用的應用程式,也能離線使用。(Enabling Offline Web Applications)Google Gears是以BSD許可證發佈的自由軟體。開發過程可參考其專案網頁,想利用Google Gears 寫程式則可參考此份文件

Google Gears有幾個主要的API組件:
一個本地伺服器,用來存儲和讀取離線程序資源(包括HTML, JavaScript, images等)。
一個小型資料庫(以SQLite構建),用來儲存本地資料數據。
一個工作池,用來讓開發者將本地資料與伺服器端後台同步。
一個桌面模型可使網路程式程序的操作貼近桌面程式。
一個地理定位模型,能夠讓網路程式偵測到目前用戶的地理位置。

比較重要的前三部份介紹如下:

Local Server

利 用 Google Gears 在本地端(亦即自己的系統/客戶端)建立的一個小型伺服器,好存放網頁的一些靜態檔案,如:HTML、CSS、JS 或圖片。由於靜態檔案不常更動,所以把這些檔案存放在自己的機器上會增快讀取速度,而且最重要的是:即使機器沒有連上網路也可存取這些網頁、圖片等靜態檔 案。

Database

這 個部份會在機器上建立了 SQL-based 資料庫,這個小型資料庫負責儲存在離線時使用者做的一些操作,以便在網路連線之後將這些操作送回原本的網站。換句話說,這個資料庫負責將離線時的操作同步 至原本的網站,因此使用者離線時,依然可以進行操作,用不著擔心資料不一致的情形發生。

WorkerPool

WorkerPool 負責非同步資料處理。目前各瀏覽器的 JavaScript 執行引擎都還是單一執行緒(Single-threaded),利用 setInterval/setTimeout (還有 XMLHttpRequest)來達到部份非同步的效果。 而 Google Gears 的 WorkerPool API 可利用系統原生的執行緒來撰寫「多執行緒的 JavaScript 程式」,如此便可利用系統的效能來執行費時費力的 JavaScript 程式。

參考來源初談 Google Gears 的程式寫作
Google Gears

Gears-維基百科

Related Posts


Comments are closed.