LinkedIn通过客户端Messenger SDK显著提升开发效率
LinkedIn最近发布了一篇博客,详细介绍了其通过实施客户端Messenger SDK如何显著提升开发效率。该SDK通过将数千行代码抽象到共享库中,减少了跨多个应用程序的代码维护成本。在一个案例中,使用新SDK为LinkedIn构建新体验时,节省了超过40个开发者周的工作量。
主要观点
SDK提升开发效率
LinkedIn的高级工程师Michele Ursino和工程领导者Joe Xue解释了该SDK如何提升生产力。他们表示,Messenger SDK通过将数千行代码抽象到共享库中,显著提高了开发者的生产力。在某些情况下,代码行数减少了10倍,从3000多行减少到几百行。这使得开发者现在可以在几周内创建新的消息体验,而不是几个月或几个季度。
统一前端平台
Ursino和Xue认为,通过在LinkedIn的消息体验中创建统一的前端平台,他们证明了一种模型,其他组织可以在构建其他核心功能时复制这种模型。他们建议拥有多个大型应用程序的组织重新考虑其构建应用程序的方法,应用程序不应是独立的实体,而应是在可重用平台库之上构建的薄层,这些库根据需要将各种技术支柱的高级功能暴露给用户界面。
重要细节
消息平台的重建
LinkedIn在2020年中期重建了其消息体验。然而,确保在运行LinkedIn产品的设备上实现完整的消息可靠性和功能是一个复杂的任务,需要大量工作和仔细关注许多细节。为了确保最大的一致性和可靠性,LinkedIn将消息平台扩展到包括在客户端设备上管理消息数据和前端API。
SDK的架构
LinkedIn将新SDK分为两种类型的库:API库("messenger-api")和客户端库("messenger-data")。API库用于在应用程序API中集成消息传递,而客户端库用于在设备上本地表示邮箱。
- API库:API库有三个功能:将客户端的GraphQL请求桥接到后端消息平台基础设施,允许主机API自定义消息API行为,并使其他系统能够使用GraphQL来装饰消息数据。它实现了对其他系统的消息数据的错误检查,并公开了GraphQL模式,供客户端SDK库在每个平台上获取信息。
- 客户端库:客户端库实现了事件驱动的数据层(EDDL),提供客户端设备上邮箱数据的最新表示,并使其与后端实际邮箱数据同步。这些库旨在确保最大的消息可靠性,并为应用程序开发者提供对邮箱数据的轻松访问。它们采用反应式方法来支持设备对话和消息的快速渲染和屏幕更新,并在数据发生变化时立即通知主机应用程序代码以进行必要的UI更新。
结论
LinkedIn已将其旗舰应用程序完全迁移到Messenger SDK,以提供所有消息功能。该SDK带来了跨平台的功能一致性,现代化了代码库,提高了稳定性和可靠性,并显著提升了开发者的生产力。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。