手机应用程序:云存储与本地

Phone App: Cloud Storage vs Local

本文关键字:存储 应用程序 手机      更新时间:2024-06-25

我一直在使用JavaScript开发一些应用程序,利用Adobe PhoneGap进行跨平台集成。然而,我目前正忙于一个关于应用程序存储的体系结构决策,并寻求指导。

我目前拥有的一个应用程序将用户数据(例如,用户配置选项、表格记录等)作为文本文件存储在Google Drive中。以下是应用程序启动的工作流程:

  1. 应用程序加载
  2. 用户使用谷歌帐户登录
  3. 系统检查Google Drive上是否存在应用程序数据
  4. 若数据存在,则加载文件。否则创建数据文件
  5. 分析数据文件
  6. 填充数据表、图表等

当用户保存时,我基本上会将这些数据捆绑起来,并将文本文件保存回Google Drive。

现在,我知道瓶颈当然是解析这个文件,它不如从数据库中读取数据好,但这将是我的问题:如何以经济高效的方式将数据存储在云中?您会定期将数据备份为文本文件吗?是否有您推荐的免费(即无限制)存储选项?

我有编写全栈JavaScript应用程序的经验,但从未在任何地方部署过这些应用程序。。。更多的是一种学习体验。

我在想,也许最好的选择是将节点服务器和mongoDb部署到一些云服务(可能是AWS?),但我们的目标是最终赚些钱。如果您需要更多详细信息,请告诉我!

当然,这取决于你有多少用户和你想完成什么,因为通过互联网发送数据并将其保存在服务器上会给你带来其他需要考虑的角度,正如你提到的那样,成本就是其中之一。如果你没有足够的用户,运行一个专用服务器是没有利润的。你可以使用用户自己的谷歌硬盘存储,有些人喜欢,有些人不喜欢。更重要的是安全性,因为一些用户数据非常敏感,通过互联网传输数据是一个问题,你必须采取正确的措施来确保它的安全。性能方面也是如此。我知道当你打开应用程序时,你要做的第一件事就是等待,因为它必须从互联网上加载和同步,这很令人沮丧。

如果用户设备离线怎么办。。?

我不知道这是什么样的申请,所以我不能给你推荐。

如果它是敏感的,你可能不想通过互联网发送。它很大吗,不要经常发送,并且在设备上有缓存。如果它不是一个仅限互联网(持续连接)的应用程序,请确保它可以脱机工作。一直发送文件/数据是个坏主意,因为它会耗尽电池,让用户抓狂(互联网消费成本)。

在考虑安全性、性能、电池时;成本,本地总是更好。

并且由于备份原因,一个会话同步一到两次也不错,尝试在后台(async)执行此操作,这样它就不会阻塞用户。确保你的设备上有一个缓存(如果可能的话)。

我的应用程序一开始就检查一次在线数据。但我的应用程序使用设置,这样我就可以在不需要再次推送更新的情况下进行更改。但它有一个缓存(脱机)版本,用于设备脱机时使用。

例如,当你有一个银行应用程序时,不可能有一个缓存版本,因为缓存可能包含旧信息,并向用户提供错误的信息。因此用户必须等待下载的信息。但它仍然可以是异步的,因为应用程序应该仍然是响应的(ui)。因此它可以显示动画加载图标,或者用户可以浏览并等待下载数据。

我希望这能回答你的问题。