抢先一步
VMware 提供培训和认证,以加速您的进步。
了解更多今天,我怀着对未来的乐观展望宣布 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 绑定呢?
此停止维护公告还涵盖 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 GA 版本。
Spring Social(以及上述 Spring Social API 绑定模块)将从今天起继续支持 12 个月,支持期于 2019 年 7 月 3 日结束。
我衷心感谢过去 8 年来所有使用和贡献 Spring Social 的人。 这是一个有趣的项目,我怀着淡淡的悲伤宣布它的最终消亡。 请放心,这不是一个轻率的决定。 但是我鼓励您查看 Spring Security 5 的客户端 OAuth 支持,并通过建议和拉取请求继续与我们合作,以帮助编写 Spring OAuth 故事的新篇章。