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 社区所有即将举行的活动。

查看所有