目前,我正在构建一些移动应用程序(目前在 iOS 上,但后来在 Android 上),它们通过 Ruby on Rails 应用程序中的 ajax 调用(返回 JSON)检索信息。这显然也适用于使用其他源返回 JSON 数据的其他应用程序。
主要问题是何时存储数据以及何时仅使用 ajax 调用来检索数据。目前,我的应用程序不会在本地存储任何东西,而是需要对所有数据进行 ajax 调用。我认为对于这个例子,我们可以使用 Twitter 移动应用程序,这是一个很多人都熟悉的应用程序,并且有很多功能,我想知道他们是如何做到的(逻辑上比技术上更重要)。
问题:
1)当您登录时,您首先看到的是您的信息流中所有项目的列表。该列表可离线使用。这是否意味着当您最初登录时,Twitter 已经将您最后的所有 X(100 个?)流项目提取到本地数据库中,然后未来的视图只是从那里提取它?
2)如果您随后将手机置于飞行模式(或只是关闭移动数据)并单击其中一条推文,则会打开包含所有这些数据的推文页面。所以现在,看起来他们并没有在您每次访问推文页面时单独提取这些信息(这是我的应用程序当前所做的,需要一些时间来加载该数据并创建视图)。他们可能只是使用他们在创建流项目时提取的相同信息,这是否有意义?
3)用户。更好的做法是(例如在查看用户“个人资料”页面时)在本地存储用户数据,然后在未来访问时刷新,还是每次都通过 ajax 提取所有数据?理论上每个都需要一个ajax调用......
我认为这些是我现在的主要问题。如果有人对这些事情(或对移动存储的任何其他见解)有任何想法,那就太好了!如果有人需要我引用的任何内容的屏幕截图,请告诉我,我很乐意为您获取。
目前使用:
Titanium Appcelerator for iOS
Ruby on Rails 用于后端和远程存储