腾讯云即时通信 IM

Tencent Cloud Chat

腾讯云即时通信 IM 使用 Flutter 将开发效率提升了 77%

成功指标

77%

开发速度提升

94.6%

代码共享

目标

腾讯云即时通信 IM 是一款即时通信 SDK,包含 UIKit 组件库和音视频通话模块,旨在帮助客户快速构建应用内聊天模块。它们目前位居中国聊天服务市场第一,并且正在向国际扩张。

在腾讯云开始使用 Flutter 之前,应用程序开发通常使用每个平台的原生工具进行。这种方法既耗时又复杂,因为开发人员必须学习多种编程语言和工具,并为每个平台维护单独的代码库。确保跨平台的一致性也可能具有挑战性,因为每个平台都有自己的设计指南和用户界面组件。

为什么选择 Flutter?

为了应对这些挑战,腾讯云开始寻找一个现代化的、反应式的框架,以帮助其客户使用单个代码库为多个平台构建应用程序。在对 Flutter、React Native 和 Lynx 等跨平台框架进行了全面评估后,团队选择了 Flutter,因为它具有出色的性能、用户体验、开发效率、强大的社区支持和全面的文档。

此外,Flutter 易于学习的编程语言、可自定义的小部件和丰富的动画库使其成为希望从其他框架迁移的开发人员的理想选择,他们希望快速学习并开始构建高质量的 SDK 和应用程序。

他们的解决方案

腾讯云决定使用 Flutter 构建腾讯云即时通信 IM。Flutter 对自定义小部件和主题的支持使他们能够创建独特且视觉上吸引人的用户界面,这些界面在不同平台上保持一致,从而增强了用户体验并提高了参与度。团队使用 Flutter 的热重载功能实时查看其代码更改,这加快了开发过程并提高了效率。此外,Flutter 的可自定义小部件和丰富的动画库使他们能够快速轻松地创建独特且引人入胜的用户界面。

为了帮助客户将其应用程序集成到腾讯云即时通信 IM 中,团队构建了一个 Flutter UIKit 组件库,它封装了 Flutter 即时通信 IM SDK 的所有底层功能。它可以在各种平台上使用,包括 iOS、Android、macOS、Windows 和 Web。 最近发布的 2.0 版本 包含一个新的宽屏模式 UI,并且与除 Linux 之外的所有 Flutter 支持的平台兼容。

腾讯团队非常喜欢 Flutter,因此他们开始用它构建其他解决方案,包括 TRTC 用于实时音频和视频,以及游戏内聊天解决方案。腾讯云还开始向其客户推荐 Flutter 作为构建其应用程序的首选框架。

“我们的团队对 Dart 和 Flutter 非常满意。编码体验更加流畅、高效且非常人性化,从而实现了更加简化和令人愉悦的开发体验。Flutter 非常令人愉快,因为它提供了无缝且轻松的编码体验。”

- 腾讯云团队

结果

通过引入 Flutter,腾讯云能够通过提供可用于为多个平台构建应用程序的单个代码库来简化应用程序开发。这不仅减少了开发时间和复杂性,还确保了其自身项目及其客户项目在跨平台的一致性。因此,腾讯云收到的咨询请求减少,成本降低,上市时间加快。他们的总收入也大幅增长,增长率约为 34%。

Flutter 也为腾讯云的客户带来了巨大的价值。一家客户 Ourschool 能够将人力减少 38%,并将开发效率提高了 47%。根据其在线监控系统,其 Flutter 应用程序的稳定性超过 99.99%,错误率下降了约 30%。另一家客户 FacePro 能够用 2 名开发人员完成之前需要 5-6 名开发人员才能完成的工作,同时将开发成本降低了 70%,人力降低了 46%,开发周期缩短了 50% 以上。Flutter 还将腾讯云即时通信 IM 的开发效率提高了 77%。

腾讯云还帮助将 Flutter 的官方文档从英文翻译成中文,并为 Flutter 社区做出了 多项贡献。这些贡献包括一个帮助用户创建多语言界面的语言国际化工具和一个基于代码中的注释和预配置规则的文档自动生成系统。这两个工具很快就会开源。