大厂Data+Agent 秘籍:腾讯/阿里/字节解析如何提升数据分析智能。 了解详情
写点什么

领英通过实施消息客户端 SDK,将开发效率提高了 10 倍

  • 2023-04-25
    北京
  • 本文字数:1458 字

    阅读完需:约 5 分钟

领英通过实施消息客户端 SDK,将开发效率提高了10倍

领英在近期发布的文章《如何通过消息客户端 SDK 大幅提升开发效率》中称,通过使用 SDK 抽象数千行代码至共享库,他们得以削减跨多平台应用的代码维护成本。在一个用例场景下,新 SDK 在构建全新领英体验时可以节省四十余名开发者数周的劳动。

 

领英的高级员工工程师 Michele Ursino 和领英的工程负责人 Joe Xue 对 SDK 是如何提高生产力的解释如下:

 

我们的 Messenger SDK 通过将数千行代码抽象为共享库,减少了跨多个应用程序的代码维护成本,极大地提升了开发人员的工作效率。在部分情况下,我们实现了跨十倍的代码数量减少,从三千多行减至几百行。其结果是,开发人员现在可以在几周内创建新的信息体验,而非原先的几月或几季度。

 

Ursino 和 Xue 称,通过创建一个跨领英消息体验的共用前端平台,他们已经证明了这种可被他人复制、用于自己核心功能的模式:

 

同领英一样,拥有多个大型应用的组织应重新考虑应用构建的方式。与其将应用当作独立个体,组织可以在可重复使用的平台库之上,建立轻薄的应用层,按需暴露各类技术支柱的高级能力乃至用户界面。

 

领英在2020年年中完成了其消息体验的重构。不过,据 Ursino 和 Xue 说明,“在运行领英产品的设备上实现完整消息可靠性和功能性是一项复杂的任务,不仅工作量繁重且对细节要求颇高。”为确保最大限度的一致性和可靠性,领英对其消息传递平台进行了扩展,涵盖了客户侧设备和前端 API 中的消息数据管理。领英的消息传递团队将所有消息传递功能打包为一个全功能的数据层 SDK,用于解决客户端应用中消息传递数据的管理复杂性问题。

 


来源:https://engineering.linkedin.com/blog/2023/unifying-messaging-experiences-across-linkedin

 

领英将新的 SDK 分为两类库:用于应用程序 API 中消息整合的 API 库(“messenger-api”),以及用于表示设备本地信箱的客户库(messenger-data)。

 

其中,API 库有三项功能:桥接客户与后端消息传递平台基础设施间 GraphQL 请求、允许主机 API 自定义消息传递 API 的行为,以及允许其他系统使用 GraphQL 对消息传递数据进行装饰。该 API 库实现了对外部系统消息传递数据的错误检查,并暴露了一个 GraphQL 模式,其中包含每个平台中客户 SDK 库用于获取信息的查询。这种架构方式允许主机 API 代码对每个 API 请求生命周期中,后端消息平台传至前端的消息数据进行自定义转换。

 


来源:https://engineering.linkedin.com/blog/2023/unifying-messaging-experiences-across-linkedin

 

客户库为消息传递实现了一个以事件为驱动的数据层(EDDL),为客户设备中的信箱数据提供了实时的表示,且与后端中实际的信箱数据进行同步。该 API 库意在保障最大化消息传递可靠性,允许应用程序开发者轻松访问信箱数据。此外,其所采用的反应式方法也支持了设备中对话和消息的快速渲染和屏幕刷新,即时地将任何数据变化通知主机应用程序代码,从而允许必要的用户界面刷新。

 


来源:https://engineering.linkedin.com/blog/2023/unifying-messaging-experiences-across-linkedin

 

领英已经将其旗舰应用程序的消息传递功能迁移至 Messenger SDK,为全客户平台提供一致且可靠的消息传递体验。该 SDK 带来了跨平台的功能平等性以及现代化的代码库,提高了稳定性和可靠性,也提升了开发人员的生产力。


原文链接:

LinkedIn Improves Development Productivity by 10x Implementing a Messaging Client-Side SDK


相关阅读:

领导力匠艺:像开发人员打造代码那样打造你的领导力

当你的技术栈不能满足每个人需求时,下一步是什么呢?

提高软件质量:如何处理数据发现更多 Bug


2023-04-25 08:002814

评论

发布
暂无评论
发现更多内容

助力建设智慧社区,EMQ 映云科技服务美好生活

EMQ映云科技

物联网 mqtt 智慧社区

JavaAgent查看动态生成类的源码

长河

【LeetCode】最小操作次数使数组元素相等Java题解

Albert

算法 LeetCode 10月月更

全周期数据管控,为「快递大数据+」保驾护航

BinTools图尔兹

Vue进阶(幺肆贰):CSS-静态定位,相对定位,绝对定位,固定定位的用法和区别详解

No Silver Bullet

Vue 元素定位 10月月更

为金融场景而生的数据类型:Numeric

青云技术社区

postgresql 云计算 源码 云原生

Tensorflow Lite移动平台编译|Bazel实践

轻口味

人工智能 tensorflow ios android 10月月更

新手 Gopher 如何写出更健壮的 Go 代码

baiyutang

golang 10月月更

java.lang.OutOfMemoryError:GC overhead limit exceeded

看山

Java OOM 10月月更

netty系列之:让TLS支持http2

程序那些事

Netty 网络协议 HTTP 程序那些事 http2

滚雪球学 Python 番外篇之游戏世界,游戏也有 Hello World

梦想橡皮擦

10月月更

LeaRun.Java可视化流程简单配置过程

雯雯写代码

java

阿里IM技术分享(五):闲鱼亿级IM消息系统的及时性优化实践

JackJiang

架构设计 即时通讯 IM

币币交易APP系统开发费用(源码)

主干开发你必须知道的7件事

华为云开发者联盟

产品 测试 团队 开发 主干开发

带你掌握java反序列化漏洞及其检测

华为云开发者联盟

Java 安全 漏洞

币币撮合交易软件系统开发(源码搭建)

边缘AI方案落地问题探讨

华为云开发者联盟

机器学习 AI 算法 边侧数据 边缘云

数字货币交易软件系统开发介绍(搭建)

这款手机浏览器,简直开挂了....

Jackpop

Prometheus 查询操作符(三) 聚合运算符

耳东@Erdong

Prometheus 10月月更

场外OTC交易系统APP开发(案例)

【Flutter 专题】24 易忽略的【小而巧】的技术点汇总 (三)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 10月月更

Spinnaker:云原生多云环境持续部署的未来

博文视点Broadview

Python代码阅读(第41篇):矩阵转置

Felix

Python 编程 Code Programing 阅读代码

场外OTC交易软件系统开发介绍(源码)

英特尔联合阿里巴巴深化从云到端全面技术合作,加速数智中国创新发展

科技新消息

阿里云盘:慌了....

Jackpop

【设计模式】第七篇 - 建造者模式-麦当劳套餐

Brave

设计模式 建造者模式 10月月更

谈 C++17 里的 Command 模式

hedzr

设计模式 命令模式 Design Patterns c++17 Command Pattern

华为云GaussDB深耕数字化下半场,持续打造数据库根技术

华为云开发者联盟

Serverless 云原生 华为云 GaussDB 云数据库

领英通过实施消息客户端 SDK,将开发效率提高了10倍_语言 & 开发_Eran Stiller_InfoQ精选文章