WordPress 贡献者为 WP REST API 寻找前进的道路
已发表: 2016-02-09
上周末,围绕 WP REST API 方向的讨论仍在继续,因为 Matt Mullenweg 和 Ryan McCue 都在他们的 WordPress 博客上澄清了上周状态会议的声明。 意见分歧引发了一场激烈的辩论,即什么构成了 API 为核心做好准备的目标。
在一篇名为“鸡和蛋”的帖子中,Mullenweg 谈到了最近的 WP REST API 讨论,同时分享了一本讲述 90 年代中期嘻哈时代历史的书中的轶事。
我喜欢 Questlove 意识到这首歌遗漏了什么,然后回到展位继续努力,直到它与他的目标听众产生共鸣。 将一首不能独立存在的歌曲作为专辑的一部分捆绑起来也不会更好。 (或者三星将拥有 Android 上最受欢迎的应用程序。)粉丝们听到每首曲目的关心和质量,他们成为超级粉丝。
Mullenweg 将其与构建 Web 产品时的注意事项联系起来:
我们生产的每样东西都有这种张力。 1.0 是最孤独和最低限度的可行产品之间的界限在哪里? 或者它是关于最低限度的可爱产品? 我们是在造一辆没有空调的汽车还是一辆没有轮子的汽车?
'Pivot' 已经过时了,但更糟糕的是假设分发会解决你的产品的一些核心问题,这些问题是行不通的。
Mullenweg 在上周的会议上提到了同样的汽车类比。 一位评论者要求对类比如何应用于 REST API 进行更多说明,对此,Mullenweg 表示如下:
如果你想要一个好的启发式普遍使用:有几十年的汽车,数以百万计的车辆和司机,在他们有空调之前。 汽车的核心价值主张是交通,空调只是帮助您更舒适地到达那里。 你不需要汽车来获得空调,你可以在家里拥有它。 空调可能会让你选择一辆车而不是另一辆车,但如果汽车没有空调,你可能不会走路或骑马,你只会摇下车窗。
这就引出了一个问题,什么是轮子? 本次讨论的参与者对现有端点是否准备好合并到核心存在分歧。 WP REST API 团队成员(其中许多人已经在生产中成功使用了 API)相信端点现在已经准备就绪。 API 的当前状态提供了将内容进出 WordPress 的能力,打开它以便与其他平台进行更轻松的通信,许多人认为这是主要用例。
上周加入讨论的 Mullenweg 和其他人赞成提供更完整的东西,即支持 wp-admin 中可用的所有内容的 REST API。 这包括 WordPress 的许多站点管理功能,并且会使 API 几个版本远离核心准备就绪。
在对我们初步报告的评论中,德鲁杰恩斯提倡他认为是一个中间立场,提供了一个坚实的起点。 这将涉及在合并之前解决现有端点中缺失的部分(受密码保护的帖子、自动保存和帖子预览以及元数据等项目。)

“正如我和贡献者/提交者阵营的其他人在聊天中所说,可以有一个中间立场,”他说。 “这是否最终看起来像四个核心端点,四个具有某种风格、XML-RPC 奇偶校验或某种 wp-admin 奇偶校验的核心端点,还有待观察,”他说。
在一篇名为“使用 WordPress REST API 进行渐进式增强”的文章中,Ryan McCue 概述了一种全面的迭代方法,该方法将推动现在的分发,并在未来的版本中推出更多端点:
渐进式增强是我们对几个相关问题的关键解决方案:与 WordPress 未来功能和版本的前向兼容性,以及 WordPress 中数据类型的稳健处理。 渐进式增强还解除了对 REST API 项目的阻塞,并确保无需等到 REST API 与 WordPress 管理员的每个功能都相同。
McCue 的帖子进一步详细介绍了 REST API 的功能检测功能,它允许开发人员轻松检测对功能的支持,并在等待核心支持的同时以向前兼容的方式构建它们。
分发是答案吗?
在上周的会议上,McCue 表示,继续将该项目作为功能插件开发将弊大于利。 如果 REST API 在没有为 wp-admin 中的所有内容提供支持的情况下不允许发布,则团队将被迫继续对其作为功能插件进行迭代,同时解决 WordPress 核心中的困难障碍。 由于只有四个主要贡献者在项目中的兼职时间不足,因此此要求可能会无限期地停止 WP REST API。
“我们相信渐进式增强方法是持续 API 开发的最佳方法,”McCue 说。 “渐进式增强是 REST API 项目必须采用的范式,如果它是我们想要在未来 10 年内添加(不破坏向后兼容性)的 API。”
Mullenweg 在 WordPress 的整个历史中一直领导着一种迭代开发方法,他对将分发作为唯一的前进方式持谨慎态度。
@Krogsgard 没有人反对迭代。 是:在低风险的插件中迭代,还是在核心中迭代,运送到数千万个站点?
— Matt Mullenweg (@photomatt) 2016 年 2 月 8 日
WordPress 的使用量越大,听到的脚步声就越大。 在核心中迭代 REST API,并分发到数百万个站点,可能会以贡献者尚未预料到的方式影响 Web。 正如他们所说,戴皇冠的头很重。 涟漪从 WordPress 网站扩展到也将使用 API 的外部平台。
贡献者仍在讨论核心迭代开发与提供更完整 API 的细微差别。 同时,项目的不确定性以及它仍然带有插件依赖的事实阻碍了采用。 目前尚不清楚 WordPress 贡献者是否会根据 Mullenweg 的建议深入研究并推动包含端点,或者他们是否会选择花更多时间完善现有端点。 如果 WP REST API 团队需要确保 API 可以支持 wp-admin 替换,它可能要到今年年底或更晚才能进入核心。
