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 表示,繼續將該項目作為功能插件開發將弊大於利。 如果不支持 wp-admin 中的所有內容就不允許發布 REST API,則團隊將被迫繼續將其作為功能插件進行迭代,同時解決 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 替換,它可能要到今年年底或更晚才能進入核心。
