問題描述
首先,我明白這是一個插件,但它絕對幾乎是 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。