Flutter IM跨端架构设计和实现

Posted 阿里巴巴淘系技术团队官网博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter IM跨端架构设计和实现相关的知识,希望对你有一定的参考价值。

本文将介绍闲鱼IM框架的基本情况。

现状

闲鱼IM框架构建于2016-2017年,期间多次迭代升级导致历史包袱累积多,后经IM界面Flutter化,造成架构更复杂。

开发层面总结闲鱼当前架构主要存在如下几个问题:

  1. 研发效率较低:当前架构开发需求涉及到android/ios双端的逻辑代码以及Flutter的UI界面代码,定位问题往往只能从Flutter UI表象追查到Native逻辑漏洞;

  2. 架构层次较差:架构设计上分层不清晰,业务逻辑夹杂在核心的逻辑层致使代码变更风险大;

  3. 性能测试略差:核心数据源存储Native内存,需经Flutter Plugin将数据源序列化上抛Flutter侧,在大批量数据源情况下性能表现较差;

从舆情层面总结闲鱼IM当前架构的主要问题如下:

  1. 定位问题困难:线上舆情反馈千奇百怪,测试始终无法复现相关场景,因此很多时候只能靠现象猜测本质;

  2. 疑难杂症较多:架构不稳定性造成出现的问题反复出现,当前疑难杂症主要包括未读红点计数,iPhone5C低端机器架构,以及多媒体发送等多个问题;

  3. 问题差异性大:Android和iOS两端逻辑代码差异大,包括现存埋点逻辑都不尽相同,因此排查问题根源时候双端都会有不同问题根因,解决问题方案也不相同;

业界跨端方案

为解决当前IM痛点,闲鱼今年特起关于IM架构升级项目,重在解决客户端中双端一致性痛点,初步设想方案就是实现跨端统一的Android/iOS逻辑架构;

以上是关于Flutter IM跨端架构设计和实现的主要内容,如果未能解决你的问题,请参考以下文章

IM即时通讯:如何跳出传统思维来设计聊天室架构?

浅析Flutter的架构设计

基于消息总线的高可扩展性IM系统后台架构设计

im即时通讯开发:高可用易伸缩高并发的IM群聊单聊架构方案设计

IM 即时通讯开发如何设计图片文件的服务端存储架构

如何设计app的架构