【问题标题】:API for SPA - Should I load all data up front?API for SPA - 我应该预先加载所有数据吗?
【发布时间】:2014-01-31 08:11:33
【问题描述】:

我正在开发一个跟踪学生全天活动的单页应用程序。

当应用加载时,您会得到一个类列表(30 到 50 个)。当您导航到班级时,您会获得班级学生(大约 20 到 25 名)和其他统计信息的列表。然后您可以导航到每个学生页面以查看他们的活动。

我的问题是 API 相关的。在一个请求中预先加载所有数据是否更好,该请求包括所有课程和统计数据,其中包括所有学生,包括他们的所有统计数据和活动,还是我应该按需加载数据?班级页面上的班级列表,班级X页面上的班级X学生名单和统计数据等等?

【问题讨论】:

    标签: api single-page-application


    【解决方案1】:

    尝试以千字节为单位估算数据量,因为这是移动应用程序的主要瓶颈(您正在构建响应式单页应用程序,对吗?)。响应可能介于两者之间:预先加载课程和学生,然后点击学生详细信息。

    然后尝试预测用户的行为。他们是否更关心整个给定的班级,他们独特的学生页面等。如果班级和学生列表仅用作访问学生页面的选择器,则加载尽可能少的关于他们的详细信息,直到学生页面。

    您的用户在使用该应用时是否会断开连接?在这种情况下,尽可能多地加载。

    考虑使用预先输入搜索框(自动建议)。在这种情况下,您不必预先加载所有数据,而只需在选择项目时加载。

    【讨论】:

    • 谢谢。实际上,我们正在开发不同的应用程序:桌面版和原生移动版。由于无线连接不稳定,移动版需要预先准备好所有数据才能离线工作,因此以这种方式加载将是一个好主意。但是桌面版有点不同。您会建议使用不同的数据量进行类似的调用吗?例如,使用GET /classes 获取所有内容,使用带有students=0 参数的GET /classes 仅获取课程列表?
    • 当然,应该用参数指定多层次的细节。我不建议为桌面或移动版本使用不同的 API。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 2014-10-21
    • 1970-01-01
    • 2021-11-27
    相关资源
    最近更新 更多