如何构建一个事件列表的API,将来要更新

问题描述:

我正在构建一个将由Android和iPhone应用程序使用的API。该应用程序获取可定期更新的事件列表。目前有两个想法。如何构建一个事件列表的API,将来要更新

  1. 使用分页,这样它首先加载第10个事件在屏幕上加载结果创建它,当用户滚动进一步应该装载更多的事件。然后我定期轮询API以查看是否有新事件发生。

  2. 首先获取事件ID(也是前10)的分页列表,之后,应用程序应该使用每个事件的一次调用在单独的线程中获取完整的事件详细信息。通过这种方式,它可以同时加载所有可能使其更快的事件。

我倾向于更倾向于第一种解决方案,因为它更简单,但其他人则说第二种方法更好。我有这样的想法,即单独的线程只会增加案件的复杂性,并且不会显着提高速度。我知道最好的方法是测试它,但是构建和测试它需要很长时间。因此,我想知道是否有任何最佳实践从API获取不断更新的事件列表。

所以;你认为哪两个最好?为什么?

+0

使用APS,苹果推送服务而不是轮询。 – santhu

这取决于您的事件包含的数据量。如果每个事件描述是只有几个字段不打扰在单独的线程中加载每个事件,则开销将杀死任何可能的性能增益 - 只需获取get事件请求中的所有数据即可。

如果每个事件描述有大量数据,那么您可以争论在用户选择事件之前是否真的要预先加载所有事件描述 - 可能用户不会点击任何事件,没有数据。

也就是说,准备API以启用两者也是一个不错的主意:获取短事件描述列表和调用以获取某个事件(或事件ID列表)的事件详细信息,或者获取包含完整事件描述的列表。

+0

谢谢,我想我们确实要进行一个'getAllEvents'和'getEventDetails'调用。谢谢你的想法! – kramer65