很多业务在上线运营一段时间后,随着业务的发展往往需要在成熟的 Android/iOS APP中进一步加入聊天及关系链能力。例如,在短视频APP中加入聊天能力,方便观众与up主互动;在购物类APP中加入聊天能力,方便客户和商家沟通并运营自己的私域流量;亦或是在音乐娱乐类APP中加入聊天能力,让有相同兴趣品味的群体,找到组织,沟通交流。
但是,聊天模块的开发和维护成本,都是高昂的,既要保证消息低延迟且准确送达不丢失,还要保证海量并发扩散群组消息资源占用低,消息多端同步算法设计及开销等等。直接接入现成的IM SDK,是解决上述问题的最优解。
不过,目前绝大部分业务的APP都包含Android及iOS双端应用。如果想要为业务加入聊天模块,则需要Android/iOS团队,分别开发、接入对应端的IM SDK。这样不仅需要耗费双倍人力物力,还有可能造成体验不一致,消息收发不同步等问题。因此,我们更推荐您采用腾讯云IM Flutter跨平台SDK。一套代码,一次开发,就能为iOS/Android/Web/Windows/macOS等五个平台,接入IM能力。
当然,很多时候,使用Flutter重写您现有的应用程序是不现实的。但您可以采用我们的混合开发方案,将Flutter模块嵌入您的原生开发APP项目中,依旧只需要一套代码,一次开发,即可快速在现有的 iOS/Android APP中,植入IM通信能力(Flutter混合开发的核心原理是将 module 形式的Flutter项目打包成Native端的可执行程序,嵌入Native项目中。Flutter module可以通用,因此仅需编写一次Flutter module,即可分别嵌入 Android/iOS APP 中)。开发团队在开发过程中无需考虑平台能力间的差异,专注于业务需求接入即可。同时,使用同一套Flutter项目代码,打包生成的各端APP都有相同的使用体验,无论界面布局、使用方式还是响应效果,都可保证在Android及iOS上有着一致/高效/优秀的使用体验。此外,后期维护及迭代时,也不再需要分别维护两端不同的模块,可大幅降低后期维护成本。
腾讯云IM Flutter - 原生 混合开发方案介绍视频
除了大幅缩减开发及维护成本外,相比其他跨平台开发框架,Flutter还拥有极为优秀的性能体验。使用Flutter开发的项目,在iOS/Android上,都有着非常强劲的性能,可提供优秀的使用体验。在我们的实际测试中,Flutter有着完全不亚于Native原生开发的性能表现。国内主流的To B通信OA产品——企业微信,也广泛采用了Flutter-原生混合开发方案。其众多模块都使用Flutter Module嵌入,但在日常使用中同样有着优秀的使用体验。
相比于其他跨平台开发框架,Flutter去除了跨平台层和实际运行层之间的桥接层,直接连通二者通信。此外,基于Dart语言预编译执行的特性,代码可以直接打包成可直接在Native执行的程序,去除运行中各种转换通信过程。
具体来说,以下特性带来了Flutter的强劲性能:
- 预先(AOT)编译,运行时直接执行Native(arm)代码;
- 必需的同Native通信(channel)是C 层次,性能好;
- Flutter使用谷歌自己的Skia渲染引擎,而Android系统自带Skia引擎,iOS平台上Flutter也会把Skia引擎打包到APP中,从而实现了高效渲染。
目前主流跨平台方案对比
快速接入指南
腾讯云IM Flutter的SDK包括:无UI的SDK 及 含UI的TUIKit。
扫码查看对应SDK接入指南
如果您期望快速完成开发上线,建议采用腾讯云IM Flutter TUIKit 含UI开发方案。开发成员可快速上手,30分钟即可集成。其包含会话、聊天、搜索、音视频通话、关系链、群组等典型 UI及对应业务逻辑。页面设计精美,定制化程度高,可满足您绝大部分的业务需求。
目前,我们的混合开发方案,已完美支持iOS/Android平台,Desktop桌面端及Web端的混合开发方案,也即将发布。
详细的技术方案,欢迎扫码或点击文末「阅读原文」查看我们的完整版文档:腾讯云IM Flutter-原生混合开发方案接入实践(https://cloud.tencent.com/developer/article/2167243)
欢迎随时和我们保持沟通和联系。
腾讯云音视频在音视频领域已有超过21年的技术积累,持续支持国内90%的音视频客户实现云上创新,独家具备 RT-ONE™ 全球网络,在此基础上,构建了业界最完整的 PaaS 产品家族,并通过腾讯云视立方 RT-Cube™ 提供All in One 的终端SDK,助力客户一键获取众多腾讯云音视频能力。腾讯云音视频为全真互联时代,提供坚实的数字化助力。