2016-04-14 73 views
0

我一直在開發一些使用JavaScript的應用程序,利用Adobe PhoneGap進行跨平臺集成。但是,我目前堅持關於應用程序存儲和尋求指導的架構決策。手機應用程序:雲存儲vs本地

我目前有一個應用程序將用戶數據(例如,用戶配置選項,表格記錄等)作爲文本文件存儲在Google雲端硬盤中。下面是應用程序啓動時的工作流程:

  1. 應用加載在W /谷歌帳戶
  2. 系統檢查
  3. 用戶登錄,如果在谷歌驅動器
  4. 如果存在數據,加載文件存在的應用程序數據。否則創建數據文件。
  5. 解析數據文件。
  6. 填充數據表(S),圖表等

而當用戶保存,我想基本上是捆綁這個數據並保存文本文件回谷歌驅動器。

現在,我知道瓶頸當然是解析這個文件,它不像從數據庫中讀取數據那麼好,但那會是我的問題:你會如何將數據存儲在雲中成本效益的方式?您是否只是將文件定期備份爲文本文件?是否有免費(即有限制)存儲選項,您會推薦?

我有寫經驗豐富的JavaScript應用程序的經驗,但從未在任何地方部署過......更多的學習經驗。

我在想,或許最好的選擇是將節點服務器和mongoDb部署到一些雲服務(可能是AWS?),但我們的目標是在一天結束時賺取一些現金。讓我知道你是否需要更多細節!

回答

1

它當然取決於你有多少用戶和你想完成什麼,因爲通過互聯網發送數據並將其保存在服務器上給出了其他角度,你必須考慮,就像你提到的成本是它。 ,如果沒有足夠的用戶,運行專用服務器是不利的。 您可以使用用戶自己的Google硬盤存儲空間,有些人喜歡其他人不需要。 更重要的是安全性,因爲一些用戶數據非常敏感,並且通過互聯網傳輸它是一個需要採取正確措施確保安全的問題。也表現明智。 我知道應用程序打開它們時,首先要做的就是等待,因爲它必須從網絡加載和同步,這令人沮喪。

以及如果用戶設備不在線..?

我不知道它是什麼樣的應用程序,所以我不能給你一個建議。

如果它很敏感,你可能不想通過互聯網發送它。 它很大,不經常發送,並且在設備上有緩存。 如果它不是一個只有互聯網(恆定連接)的應用程序,請確保它可以脫機工作。 始終發送文件/數據是一個壞主意,因爲它會殺死電池,並且會讓用戶發瘋(網絡消費成本)。

當想到安全性,性能,成本,本地總是更好。

並且同步一次或兩次會話不壞,由於備份原因, 嘗試在後臺執行此操作(異步),以便它不會阻止您的用戶。 確保您的設備上有緩存(如果可能的話)。

我的應用程序一開始就檢查在線數據。但我的應用程序使用設置,以便我可以更改而無需再次推送更新。 ,但它具有設備脫機時的緩存(脫機)版本。

例如,當您有銀行應用程序時,不可能擁有緩存版本,因爲緩存可能包含舊信息併爲用戶提供錯誤信息。 因此用戶必須等待下載的信息。但它仍然可能是異步的,因爲該應用程序仍應該具有響應性(ui)。因此它可以顯示動畫加載圖標,或者用戶可以瀏覽並等待下載的數據。

我希望這可以解決您的問題。

+0

謝謝!這肯定給了我思考,我想我知道前進的道路:) – Dustin

+0

很好聽,iOS的文檔包含大量的信息,可以在其他操作系統和編程領域的大多數情況下有所幫助。 – Zezura

相關問題