Lottie的json动画
我们的设计如是说:
Lottie的json动画,优缺点有
优点:
1、开发成本低,动画的还原度⾼。设计师导出 json ⽂件后,交付开发。原本要1天甚⾄更久的动画实现,现在只要不到⼀⼩时甚⾄更少时间了。
2、⽀持服务端 URL ⽅式创建。所以可以通过服务端配置 json ⽂件,随时替换客户端的动画,不⽤通过发版本就可以做到了。⽐如 app 启动动画可以根据活动需要进⾏变换了。
3、性能提⾼,可以替代原来需要使⽤帧图完成的动画。节省了客户端的空间和加载的内存。
4、跨平台,iOS、安卓平台可以使⽤⼀套⽂件。省时省⼒,动画⼀致。不⽤设计师跑去两边去跟着微调确认了。
5、⽀持转场动画。 PresentViewController/DismissViewController 时可以做转场效果。
不⾜:
1、对⼀些AE的属性⽀持不够完全(例如:表达式,中继器)
详情见官⽹:
2、对系统平台版本限制,如 iOS8 及以上,安卓 API14 及以上。
3、对可交互的动画暂时还不⾏,主要是以播放类型动画(需要开发⾃⼰进⾏交互编译控制)。
它最⼤的优点是提供了⼀套完整的跨平台的动画实现⼯作流。
其次,相对于类似的实现⽅案GIF、⼿写动画、帧动画⽽⾔,这个⽅案更为轻量,性能和存储上都更佳。
从代码上看,Android 端的实现是基于 Drawable、iOS 端是基于 Layer —— 最终都是对 canvas 的操作,中间除去解析 json 外,基本⽆耗费性能的⾏为。(官⽅⽂档有提到,masks 和 mattes 动画较为耗费性能,原因是需要额外的 Bitmap 辅助,这点需注意)
⽽存储上,动画由 json ⽂件描述,占⽤空间不多。
也是因为动画由 json ⽂件描述,所以它的第三个优点是动画的更新及其⽅便。在之前,假如我们要完成动画动态更新需求,要么使⽤上述所说的 GIF、帧动画等⽅案,要么就⾃定义动画描述⽂件或⽤笨重的xml来完成动画。那么现在⽤ json ⽂件,简直再⽅便不过了。
三. 仍然存在的问题
1. Bodymovin 插件待完善,仍然有部分 AE 效果⽆法成功导出;
2. Lottie 对 json ⽂件的⽀持待完善,⽬前有部分能成功导出成 json ⽂件的效果在移动端上⽆法很好的展现;canvas动画
3. ⽬前不⽀持⽂字,所有⽂字必须转成⽮量图才能正常展现动画;
4. 动画⽆法被编辑,即移动端⽆法更改远端下载到本地的动画;
5. ⽂档需要跟进。。现在的 json ⽂件内容看的好蛋疼。。根本没法开开⼼⼼提 PR;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论