问题描述

首先,我明白这是一个插件,但它绝对几乎是 WordPress 的一部分。所以我希望这不会被标记为 off-topic 。

我已经阅读了他们的官方文档,很多其他文章和观看教程视频,但我仍然没有得到一些要点。这肯定是 WordPress 的未来,它是非常方便的移动应用程序开发和使用/共享数据之间不同的网站,但是它只为我的网站做什么?


考虑这个:

我目前正在评论。我想要注释部分加载只有当用户滚动到注释部分 (-200px 偏移,所以没有延迟) 。

  • 当用户滚动到该点时,我将触发 ajax 调用

  • Ajax 调用发送一些数据,如 post_id

  • 在服务器中运行 WP_Comment_Query()

  • 发送 JSON 数据回到客户端与评论关系,名称,内容等

  • 使用 JavaScript document.createElement()innerHTML 等创建和输出评论

现在.. 为什么要使用 REST API?对我来说有什么用?只是未来的?

我仍然需要使用 JavaScript 来输出所有的数据。我没有找到任何好的文章为什么或应该使用 REST API(站点和移动应用程序开发之间的数据传输除外) 。

最佳解决方案

两个主要优点是:

  1. 您可以 (最终) 在没有管理界面的情况下执行所有管理任务。

  2. 您可以获取所有数据进行显示,并彻底消除前端 (并编写 PHP) 。

关于你的例子,

更换步骤 3& 4 使用 REST API,并用 Backbone.js 替换步骤 1,2 和 5 。 BOOM,动态 Web 应用程序。或者你可以更加舒适地使用 Python 来代替您的站点所需的复杂路由。

次佳解决方案

嗯,实际上有几件事情。

  1. 它允许您根据需要运行特定功能,而不需要对整个页面加载进行所有计算。因此,您可以以相当低的开销定期更新评论,而无需通过调用该 API 端点并更新页面上的数据来刷新页面。这个概念最终将被推广到快速加载”client” 站点的 SPA(单页面应用程序) 中,并且每次都模拟所有页面”changes”,而不需要 re-pull 页面的 HTML 。随着诸如角度,灰度和反应等框架的出现,这已经非常受欢迎了。网站可以以极快的速度响应,同时将一些计算能力卸载到 end-user(渲染循环,non-business 逻辑),并显著减少对服务器的总呼叫次数 (仅拉取所需的数据,而不是每次重新加载所有数据) 。

  2. 它分离业务逻辑和渲染器。是的,您可以使用 API​​与另一个 PHP 网站分开结果,或使用您所提到的 Javascript 进行处理,但您也可以使用本机移动应用程序,桌面应用程序等来消费它。不仅如此,但您可以其中一个都与同一个 API 进行交谈,该 API 始终执行相同的业务逻辑,从而在消费 API 的各种客户端上创建一致性和可靠性。

API 是好的,因为它们分离了逻辑和显示的关注。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。