Fish-Lottie:纯Dart如何实现一个高性能动画框架?
作者:闲鱼技术-岑彧
背景
Lottie是一个由Airbnb开源的横跨Android,iOS,Web等多端的一个动画方案,它以JSON的方式解决了开发者对复杂动画实现的开发成本问题。
众所周知,闲鱼团队是比较早在客户端侧选择Flutter方案的技术团队,当前的闲鱼工程里也包含很多的Flutter界面。 而官方却一直没有提供Lottie-Flutter方案,当前也有一些第三方开发者提供了相关实现方案,基本上分为两种:(1)在Native端进行数据解析和渲染,再使用桥接的方式把渲染数据传输到Flutter端进行显示。
(2)在Flutter直接进行数据解析和使用Flutter绘图能力进行渲染显示。
不过当前已经开源的方案都存在一些问题,前者会在性能和显示存在一些问题,例如显示闪烁白屏。后者在一些能力支持上存在一些功能缺陷,例如不支持文本动画等
