为跨平台移动应用程序使用 Web 服务
Using web service for cross platform mobile app
我正在编写一个高级的移动应用程序:
- 通过 HTTP POST 请求以 JSON 格式从第三方供应商检索数据
- 根据用户偏好过滤结果并显示结果
- 定期刷新数据
我目前的方法是创建一个 Web 服务来处理与第三方供应商的通信,并负责过滤逻辑,其中包含大量计算。
这种方法的缺点是从客户端的角度来看有额外的跃点,因为现在将有两个 Web 服务调用(客户端 -> 自定义服务,自定义服务 -> 第 3 方供应商)
从好的方面来说,过滤逻辑和未来的增强功能将完全与操作系统无关,我不需要为 Android & iOS 编写自定义代码。
这是正确的方法吗?
是,在以下情况下:
- 第三方站点需要 API 密钥(或其他形式的身份验证),该密钥需要保密且不能分发给客户,
- 第三方对每个 API 调用收费或限制调用,并且您想在您的网站上缓存结果以限制调用次数,
- 第三方 API 可能会发生变化,您不希望每次更改都发布新版本的客户端,
- 有可能切换到不同的第三方供应商,
- 您的网站比第三方网站更可靠,正常运行时间更长。
否则,尽管您提到了额外的编码量,但直接从客户端调用不会那么令人头疼。
我正在编写一个高级的移动应用程序:
- 通过 HTTP POST 请求以 JSON 格式从第三方供应商检索数据
- 根据用户偏好过滤结果并显示结果
- 定期刷新数据
我目前的方法是创建一个 Web 服务来处理与第三方供应商的通信,并负责过滤逻辑,其中包含大量计算。
这种方法的缺点是从客户端的角度来看有额外的跃点,因为现在将有两个 Web 服务调用(客户端 -> 自定义服务,自定义服务 -> 第 3 方供应商)
从好的方面来说,过滤逻辑和未来的增强功能将完全与操作系统无关,我不需要为 Android & iOS 编写自定义代码。
这是正确的方法吗?
是,在以下情况下:
- 第三方站点需要 API 密钥(或其他形式的身份验证),该密钥需要保密且不能分发给客户,
- 第三方对每个 API 调用收费或限制调用,并且您想在您的网站上缓存结果以限制调用次数,
- 第三方 API 可能会发生变化,您不希望每次更改都发布新版本的客户端,
- 有可能切换到不同的第三方供应商,
- 您的网站比第三方网站更可靠,正常运行时间更长。
否则,尽管您提到了额外的编码量,但直接从客户端调用不会那么令人头疼。