问题描述
首先,我明白这是一个插件,但它绝对几乎是 WordPress 的一部分。所以我希望这不会被标记为 off-topic 。
我已经阅读了他们的官方文档,很多其他文章和观看教程视频,但我仍然没有得到一些要点。这肯定是 WordPress 的未来,它是非常方便的移动应用程序开发和使用/共享数据之间不同的网站,但是它只为我的网站做什么?
考虑这个:
我目前正在评论。我想要注释部分加载只有当用户滚动到注释部分 (-200px 偏移,所以没有延迟) 。
-
当用户滚动到该点时,我将触发 ajax 调用
-
Ajax 调用发送一些数据,如
post_id
等 -
在服务器中运行
WP_Comment_Query()
-
发送
JSON
数据回到客户端与评论关系,名称,内容等 -
使用 JavaScript
document.createElement()
,innerHTML
等创建和输出评论
现在.. 为什么要使用 REST API?对我来说有什么用?只是未来的?
我仍然需要使用 JavaScript 来输出所有的数据。我没有找到任何好的文章为什么或应该使用 REST API(站点和移动应用程序开发之间的数据传输除外) 。
最佳解决方案
两个主要优点是:
-
您可以 (最终) 在没有管理界面的情况下执行所有管理任务。
-
您可以获取所有数据进行显示,并彻底消除前端 (并编写 PHP) 。
关于你的例子,
更换步骤 3& 4 使用 REST API,并用 Backbone.js 替换步骤 1,2 和 5 。 BOOM,动态 Web 应用程序。或者你可以更加舒适地使用 Python 来代替您的站点所需的复杂路由。
次佳解决方案
嗯,实际上有几件事情。
-
它允许您根据需要运行特定功能,而不需要对整个页面加载进行所有计算。因此,您可以以相当低的开销定期更新评论,而无需通过调用该 API 端点并更新页面上的数据来刷新页面。这个概念最终将被推广到快速加载”client” 站点的 SPA(单页面应用程序) 中,并且每次都模拟所有页面”changes”,而不需要 re-pull 页面的 HTML 。随着诸如角度,灰度和反应等框架的出现,这已经非常受欢迎了。网站可以以极快的速度响应,同时将一些计算能力卸载到 end-user(渲染循环,non-business 逻辑),并显著减少对服务器的总呼叫次数 (仅拉取所需的数据,而不是每次重新加载所有数据) 。
-
它分离业务逻辑和渲染器。是的,您可以使用 API与另一个 PHP 网站分开结果,或使用您所提到的 Javascript 进行处理,但您也可以使用本机移动应用程序,桌面应用程序等来消费它。不仅如此,但您可以其中一个都与同一个 API 进行交谈,该 API 始终执行相同的业务逻辑,从而在消费 API 的各种客户端上创建一致性和可靠性。
API 是好的,因为它们分离了逻辑和显示的关注。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。