融云分享基于 Rust 的鸿蒙 SDK 开发实践
12 月 5 日以“同心聚力共建共享鸿蒙新生态”为主题的“鸿蒙生态伙伴 SDK 开发者论坛”在京举行。融云凭借对鸿蒙生态的率先适配和创新贡献荣获华为鸿蒙生态“HarmonyOS NEXT SDK 星河奖”。本次论坛邀请了多位行业领导者参与共同探讨鸿蒙生态的合作与创新模式。融云 CTO 岑裕受邀发言分享了融云旗下 SDK 适配原生鸿蒙系统的实践经验。作为全球数十万 App 选择的即时通讯和实时音视频 SDK 厂商融云 SDK 适配全球 30000 多款各类设备。“融云为众多在稳定性方面有高要求的超级 App 提供服务我们的 SDK 在崩溃率和稳定性上表现出色确保崩溃率控制在 0.004% 左右。”岑裕说。在这样的性能状态和高质量标准要求下融云鸿蒙 SDK 的研发也面对着较大的挑战。在鸿蒙官方的支持下融云技术团队最终在保证内存/线程安全的基础上对问题进行了快速收敛成功上线融云鸿蒙 SDK并实现了跨平台的能力对齐。重构基建以鸿蒙为契机重新审视底层架构如上图所示这是融云 IM 的客户端架构也是当前比较通行的多端架构设计方案。移动互联网到现在走过了十多年的历程大量互联网产品的底层都采用了类似的架构——☑ 底层通用的跨平台库多是用 C 构建的上层各平台采用完全不同的技术栈来实现。☑ 随着业务的迭代和版本的特性发展不同平台之间可能会逐渐分离以方便快速迭代。☑ 很多业务还会有跨端的需求比如 Flutter、React Native 和近几年国内比较火的 uni-app 等。整体而言在移动互联网时代应用的技术框架面临着非常纷繁复杂的系统生态。而鸿蒙给了大家一个契机去重新审视过去十多年的基建并思考如何进行重构。融云实践基于 Rust 的融云鸿蒙 SDK 开发融云的 SDK 生态覆盖多端选用了支持多平台能力对齐的跨平台方案 Rust。这是因为“Rust 的编程模型在内存和线程安全上有非常大的提升。同时它有一定的后发优势在工程化方面做得非常完善。比如Rust 可以直接用代码注释来写单元测试可以保证测试代码和核心代码版本完全一致非常有助于问题的快速收敛。”岑裕表示。同时融云鸿蒙 SDK 对底层通信能力如 TCP、QUIC、WebSocket、Long Pulling 等做了统一封装。这也是融云的通信网络在服务覆盖全球 245 个国家和地区的情况下依然保持健壮的原因之一。数据库方面通过数据库加密和数据沙箱等满足数据安全需求。业务层的连接、会话、消息、聊天室、超级群等统一用 Rust 来做但会分 C ABI 和 Rust ABI 两个接口来对应不同的系统和平台。融云平台统一去做桥接保证所有的平台和业务表达是一致的。目前Rust 官方已经支持鸿蒙系统。鸿蒙为了方便广大开发者提供 ArkTS 到 C 的绑定包括里面的线程安全函数处理在健壮性、代码生成效率等方面也做了很多工作。在此基础上融云的鸿蒙 SDK 在架构上可大概分为两层一层是鸿蒙社区提供的系列方案另一层是 Rust 的一些核心库。在这样的整体架构和策略指引下融云完成了从 C 迁移到 Rust 的整个核心代码重构。6 月原生鸿蒙系统 HarmonyOS NEXT 正式发布后融云率先上线了 HarmonyOS NEXT 版融云 IM SDK完成针对“纯血鸿蒙”操作系统的 SDK 研发帮助开发者高效率、低成本地完成鸿蒙化开发工作。在这个过程中融云与鸿蒙联合开发针对性解决了创新生态发展过程中难免的支持库不全、编译链缺失等问题也为整个生态的构建和发展做出了重要贡献。未来针对鸿蒙和 Rust 两个越来越流行的生态之间如何打通和优化发展以及如何基于鸿蒙对 AI 能力的原生支持平滑地转向 AI 时代的应用生态融云都将与生态各方携手向前持续探索。

相关新闻

存储管理与LVM逻辑卷管理:从入门到实战

存储管理与LVM逻辑卷管理:从入门到实战

硬盘类型与选择机械硬盘(HDD)和固态硬盘(SSD)在特性上存在显著差异。HDD采用磁头读写旋转盘片的方式,具有容量大、价格低的优势,但速度较慢且抗震性差。SSD基于闪存芯片,读写速度快、抗震性好&a…

2026/7/24 20:37:08 阅读更多 →
MMPedestron环境安装

MMPedestron环境安装

1、安装python3.7环境并激活 conda create -n mmpedestron python3.7 conda activate mmpedestron2 、安装pytorch、cuda conda install pytorch1.10.1 torchvision0.11.2 torchaudio0.10.1 cudatoolkit11.3 -c pytorch3 、安装openmim和mmcv pip install openmim -i https://m…

2026/7/24 20:37:08 阅读更多 →
C# Winform 使用SunnyUI包 不同分辨率、百分比缩放解决方案

C# Winform 使用SunnyUI包 不同分辨率、百分比缩放解决方案

1、窗体属性更改 2、设置app.manifest文件的dpiAware 右键项目-》新建文件 更改清单文件如下 <application xmlns"urn:schemas-microsoft-com:asm.v3"><windowsSettings><dpiAware xmlns"http://schemas.microsoft.com/SMI/2005/WindowsSettin…

2026/7/24 20:36:07 阅读更多 →

最新新闻

Blender 3MF插件:重塑3D打印工作流的桥梁

Blender 3MF插件:重塑3D打印工作流的桥梁

Blender 3MF插件&#xff1a;重塑3D打印工作流的桥梁 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 在3D打印技术日益普及的今天&#xff0c;设计师们面临着文件格式兼容…

2026/7/24 20:45:09 阅读更多 →
GESPC++三级真题深度解析:从语法陷阱到BFS算法实战

GESPC++三级真题深度解析:从语法陷阱到BFS算法实战

1. 项目概述&#xff1a;一次真题解析的深度价值最近有不少朋友在准备GESPC三级的认证考试&#xff0c;特别是看到2024年3月的这套真题&#xff0c;感觉难度和考察点都很有代表性。作为一个带过不少学生、自己也经历过各种认证考试的老码农&#xff0c;我深知一套高质量的真题解…

2026/7/24 20:45:09 阅读更多 →
如何用3个现代化Anki模板彻底改变你的学习体验:终极美化指南

如何用3个现代化Anki模板彻底改变你的学习体验:终极美化指南

如何用3个现代化Anki模板彻底改变你的学习体验&#xff1a;终极美化指南 【免费下载链接】anki-prettify Collection of customizable Anki flashcard templates with modern and clean themes. 项目地址: https://gitcode.com/gh_mirrors/an/anki-prettify 你是否厌倦了…

2026/7/24 20:45:09 阅读更多 →
大麦网抢票终极指南:Python自动化脚本高效实战方案

大麦网抢票终极指南:Python自动化脚本高效实战方案

大麦网抢票终极指南&#xff1a;Python自动化脚本高效实战方案 【免费下载链接】Automatic_ticket_purchase 大麦网抢票脚本 项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase 在热门演唱会、体育赛事一票难求的今天&#xff0c;手动抢票成…

2026/7/24 20:45:09 阅读更多 →
别再手动比对版本文档了!用我们开源的ai-compat-scan工具链,1条命令生成带修复建议的兼容性审计报告

别再手动比对版本文档了!用我们开源的ai-compat-scan工具链,1条命令生成带修复建议的兼容性审计报告

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;AI 代码兼容性检测 AI 代码兼容性检测是保障生成代码在目标运行环境中正确执行的关键环节。它不仅验证语法合法性&#xff0c;更需评估语义一致性、依赖版本约束、平台特性支持&#xff08;如 Windows/macOS/…

2026/7/24 20:45:09 阅读更多 →
CTF-NetA完全指南:从零掌握流量分析神器的5大实战技巧

CTF-NetA完全指南:从零掌握流量分析神器的5大实战技巧

CTF-NetA完全指南&#xff1a;从零掌握流量分析神器的5大实战技巧 【免费下载链接】CTF-NetA CTF-NetA是一款专门针对CTF比赛的网络流量分析工具&#xff0c;可以对常见的网络流量进行分析&#xff0c;快速自动获取flag。 项目地址: https://gitcode.com/gh_mirrors/ct/CTF-N…

2026/7/24 20:44:09 阅读更多 →

日新闻

用Highcharts 创建可拖拽三维散点立方体3D图表

用Highcharts 创建可拖拽三维散点立方体3D图表

该案例基于Highcharts scatter3d 三维散点图实现空间立方体散点可视化&#xff0c;核心特色&#xff1a;三维 X/Y/Z 三轴空间&#xff0c;所有散点分布在 0~10 立方体空间内&#xff1b;散点使用径向渐变实现立体 3D 圆球质感&#xff1b;支持鼠标 / 触屏拖拽画布&#xff0c;…

2026/7/24 0:00:29 阅读更多 →
AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls&#xff1a;进程创建路径上的 DLL 入口 AppCertDlls 位于 HKLM\System\CurrentControlSet\Control\Session Manager\AppCertDlls。本文的程序功能是只读列出这个键在 64 位和 32 位注册表视图中的全部值&#xff0c;并显示每条值的来源、名称、类型和可安全显示的数…

2026/7/24 0:00:29 阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好&#xff0c;我是一名编程初学者&#xff0c;同时这也是我编程学习之路上的第一篇博客。在这里&#xff0c;我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手&#xff0c;目前在学习c语言&#xff0c;我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:29 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中&#xff0c;我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源&#xff0c;还是配置文件、证书等&#xff0c;都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下&#xff0c;但这…

2026/7/24 3:59:20 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP&#xff08;轻量级目录访问协议&#xff09;作为企业级身份认证的黄金标准&#xff0c;已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时&#xff0c;发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 1:23:39 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”&#xff0c;而是以可解释、可审计、可迭代的方式&#xff0c;赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻