2012-07-27 131 views
1

我們正在構建基於Web的音頻編輯器的概念模型。而我們遇到的第一個麻煩是客戶端緩存系統。在我看來,因爲服務器端程序員在客戶端擁有巨大的緩存是完美的想法,因爲在很多情況下,除了多次加載相同的數據外,服務器端的程序員需要承擔服務器負載。此外,這樣的緩存可能是提供每個軌道操作的緩衝區的良好候選,例如過濾。Web客戶端緩存

我們的flex程序員說這是一個很大的麻煩,幾乎在任何情況下都是不可能的。但我非常懷疑,因爲我知道實際的Google Chrome瀏覽器版本可以簡單地在localStorage中保持高達2 GB。此外,我發現在線track-editor的this example,看起來像它的緩存機制工作得很好。

是否有可能在客戶端使用flash和js緩存一些數據(smth約100-200mb)?

+1

它強烈地依賴於瀏覽器(某些瀏覽器會要求得到允許更多的存儲,但別人簡單地失敗)。所以依靠它不是一個好主意。 – Marii 2012-07-27 11:21:48

+0

那麼閃存呢? – 2012-07-27 11:31:55

+0

我同意@cldy。 – 2012-07-27 11:38:52

回答

1

您可以使用SharedObject來存儲數據。

我敢肯定,默認大小限制太低您的需求,讓您的應用程序需要向用戶接受新的限制:
http://www.macromedia.com/support/documentation/en/flashplayer/help/help06.html

共享對象是不是瀏覽器的緩存更可靠,你可以從你的應用中控制它。

+0

最大尺寸是否有限制? – 2012-07-27 11:36:42

+0

如果他們同意授予您「無限制」存儲空間,則沒有限制(或多或少)。 – strah 2012-07-27 11:56:53

0

我們做了存儲在客戶端的大數據。嗯,其實,在Flash你可以將文件保存到用戶的機器,其限制是它必須是透明的,用戶(即用戶發起的行動,穿過OS對話框,並保存爲他們通常會保存任何文件,他們下載),同樣,您可以從用戶的計算機加載文件,限制用戶必須啓動操作(如通過單擊指點設備或按鍵)。

與不同的本地存儲策略相比,這對用戶來說大多不透明(人們通常不知道如何清除Cookie,SharedObjects或帶有更多現代瀏覽器的Web存儲,但它們幾乎可以勝任保存和刪除系統中的文件)。此外,所有其他不透明的本地存儲可以有少精明的用戶可能不知道如何克服/可能無法在一般克服限制 - 這些將是大小,位置和所有權。

這對你的讀者來說仍然有點阻礙,因爲每次他們需要保存一個文件時,他們都必須通過操作系統的對話框,而不是按Ctrl + S/Cmd + S/Cx Cs ..但是,考慮到所有其他選擇,IMO將爲用戶提供最多選擇/提供最佳體驗。

另一個建議 - 原則上,您可以想出一個基於瀏覽器的「增強」版本的應用程序,用戶可以將其安裝爲瀏覽器插件(如果這是他們定期使用的編輯器 - 爲什麼不是?),在這種情況下,您不會受限於Web技術提供的笨拙選項。基於Chrome和Mozilla的瀏覽器鼓勵這種開發,但它不是標準化的。不過,由於這兩個瀏覽器運行在幾乎所有的操作系​​統,這聽起來並不特別鎖定您的用戶到某一個平臺...