Spring Social 停止維護公告

工程 | Craig Walls | 2018年7月3日 | ...

今天,我懷著對未來的樂觀展望,宣佈 Spring Social 專案停止維護。在過去八年裡,我非常榮幸能參與到這個專案中。

隨著 Spring Security 5 的釋出,Spring Social 連線框架(我認為這是 Spring Social 最有價值的部分)提供的大部分功能現在已成為 Spring Security 的一部分。事實上,我曾在 3 月份的部落格文章中分享過如何使用 Spring Security 對客戶端 OAuth2 的新支援。隨著 Spring Security 不斷發展其客戶端 OAuth 支援,Spring Social 的連線框架將變得越來越不必要。將 Spring 的 OAuth 故事分散在如此多的專案中已經不再有意義——是時候為 Spring 開發者提供一個統一的、連貫的 OAuth 故事了。

但是 Spring Social 的 API 繫結呢?

龐大的 API 繫結

此“生命週期終止”公告也涵蓋 Spring Social 的 API 繫結,包括 Facebook、Twitter 和 LinkedIn 的 API 繫結。

Spring Social 的 API 繫結最初只是為了展示如何使用連線框架生成的連線。但後來它們不斷發展,並有了自己的生命。

雖然 API 繫結通常對需要與它們所服務的 API 互動的應用程式很有用,但它們對於實際使用來說相當龐大、複雜且笨重。就此而言,Facebook API 繫結提供了大約 180 種不同的操作,儘管很少有應用程式需要其中超過六種操作。

事實也證明,讓 API 繫結與它們所服務的 API 保持同步是很困難的。隨著 API(例如 Facebook 的 Graph API)不斷發展,Spring Social 的 API 繫結需要重新審視(在某些情況下需要完全重寫並進行重大更改),以保持與各自 API 的相容性。考慮到上述 API 繫結的大小,這需要巨大的開發和測試工作——對於最初只是為了演示如何編寫 API 繫結的東西。

最後,現在 Spring Framework 5 為 Spring 開發者帶來了反應式程式設計模型,人們對 Spring Social API 繫結的反應式對應物有了需求。雖然這當然是可能且可以理解的,但它需要與現有 API 繫結大小成比例的工作量,並且基本上覆制了非反應式 API 繫結中提供的大多數操作。這將有效地使 API 繫結的大小翻倍,使得此類繫結的維護更具挑戰性。

相反,我建議應用程式開發者自己編寫 API 繫結實現。這樣做,您將能夠使用更專注於應用程式需求的 API 繫結,並且比 Spring Social 提供的龐大 API 繫結更容易維護。此外,如果您希望在 API 繫結中應用反應式型別,歡迎您這樣做。我在 3 月份發表的文章中提出了一個方法。

Spring Social 落幕

Spring Social 不會立即消失。我打算繼續處理小錯誤修復,並根據需要釋出維護版本。但除非有重大且令人信服的需求,否則目前沒有計劃釋出任何 Spring Social 的後續 GA 版本。

Spring Social(以及上述 Spring Social API 繫結模組)將從今天起繼續支援 12 個月,支援期將於 2019 年 7 月 3 日結束。

我衷心感謝過去 8 年來所有與 Spring Social 合作並做出貢獻的人。這是一個有趣的專案,我懷著一絲悲傷宣佈它最終將走向終結。請放心,這不是一個輕率的決定。但我鼓勵您檢視 Spring Security 5 的客戶端 OAuth 支援,並繼續透過建議和拉取請求與我們合作,幫助編寫 Spring OAuth 故事的這一新篇章。

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有