我们的设计如是说:

Lottie的json动画,优缺点有

优点:

1、开发成本低,动画的还原度高。设计师导出 json 文件后,交付开发。原本要1天甚至更久的动画实现,现在只要不到一小时甚至更少时间了。

2、支持服务端 URL 方式创建。所以可以通过服务端配置 json 文件,随时替换客户端的动画,不用通过发版本就可以做到了。比如 app 启动动画可以根据活动需要进行变换了。

3、性能提高,可以替代原来需要使用帧图完成的动画。节省了客户端的空间和加载的内存

4、跨平台,iOS、安卓平台可以使用一套文件。省时省力,动画一致。不用设计师跑去两边去跟着微调确认了。

5、支持转场动画。 PresentViewController/DismissViewController 时可以做转场效果。

不足:

1、对一些AE的属性支持不够完全(例如:表达式,中继器)

详情见官网:https://github.com/airbnb/lottie-ios

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 文件的效果在移动端上无法很好的展现;

3. 目前不支持文字,所有文字必须转成矢量图才能正常展现动画;

4. 动画无法被编辑,即移动端无法更改远端下载到本地的动画;

5. 文档需要跟进。。现在的 json 文件内容看的好蛋疼。。根本没法开开心心提 PR;

Lottie的json动画的更多相关文章

  1. Html5页面内使用JSON动画的实现

    有一天我们的UI设计师找到我说,要把页面中我自己用程序写的动画,换成他们给的json动画,原因是有的动画很复杂,自己写起来达不到他们的预期效果(写到这里我突然想到一个问题,这么复杂的动画为什么不使用g ...

  2. Lottie在手,动画我有:ios/Android/Web三端复杂帧动画解决方案

      为什么需要Lottie 在相对复杂的移动端应用中,我们可能会需要使用到复杂的帧动画.例如: 刚进入APP时候可能会看到的入场小动画,带来愉悦的视觉享受 许多Icon的互动变化比较复杂多变的时候,研 ...

  3. Android之Lottie动画详解

    文章大纲 一.Lottie介绍二.Lottie实战三.项目源码下载四.参考文章   一.Lottie介绍 1. 什么是Lottie   Lottie是Android和iOS的移动库,用于解析Adobe ...

  4. Lottie 动画里有图片怎么办?设计师小姐姐也能帮你减少开发量!

    一.序 Hi,大家好,我是承香墨影! Lottie 是 Airbnb 开源的一套跨平台的完整解决方案,设计师只需要使用 After Effectes (之后简称 AE)设计出动画之后,使用 Lotti ...

  5. Lottie开源库实现Android动画效果

    Lottie简介 Lottie是一个支持Android.iOS.React Native,并由Adobe After Effects制作aep格式的动画,然后经由bodymovin插件转化渲染为jso ...

  6. iOS 动画(基于Lottie封装)

    一般app中都会带有动画,而如果是一些复杂的动画,不但实现成本比较高,而且实现效果可能还不能达到UI想要的效果,于是我们可以借助lottie来完成我们想要的动画.   lottie动画1.gif   ...

  7. 看逐浪CMS技术小哥做SVG动画(附使用Bodymovin和Lottie将Adobe After Effects(AE)程式转为 HTML5/Android/iOS原生的动画全过程-即AE转svg\canvas\html5动画)

      名词解解释 adobe After Effects AE:adobe After Effects,adobe公司的专业视频制作软件. Bodymovin插件预览 Bodymovin:是一个AE的插 ...

  8. 【Flutter 3-5】Flutter进阶教程——在Flutter中使用Lottie动画

    作者 | 弗拉德 来源 | 弗拉德(公众号:fulade_me) Lottie动画 在移动开发中总是需要展示一些动画特效,作为程序员的我们并不是很擅长用代码做动画,即便是有些动画可以实现,在跨平台的过 ...

  9. 在vue里添加好看的lottie动画 (^_^)

    为什么用lottie ★~★ 1.能让你的程序不那么单调 2.能让一些有审美强迫症的同学好受一点 3.网上有丰富的资源 点我进入lottie资源网站 引入lottie库 (>.<) 在vu ...

随机推荐

  1. mybatis多表关联查询之resultMap单个对象

    resultMap的n+1方式实现多表查询(多对一) 实体类 创建班级类(Clazz)和学生类(Student),并在Student中添加一个Clazz类型的属性,用于表示学生的班级信息. mappe ...

  2. react native中使用 react-native-easy-toast 和react-native-htmlview

    第一步,下载依赖 npm install react-native-htmlview --save npm install react-native-easy-toast --save 第二步,引入 ...

  3. 封装及调用fetch

    一.封装fetch 创建fetch/index.js import 'whatwg-fetch' import 'es6-promise' export function get(url) { let ...

  4. linux中截取文件的特定字节(去掉utf-8 bom头)

    事出有因,之所以要截取特定字节,是为了给utf-8编码的文件去掉bom头. bom头好去啊,notepad++文本编辑器中就有这个功能啊.可是,问题所在是要编辑的文件太大了,300MB,小电脑卡shi ...

  5. Unity shader学习之Forward Rendering Path

    Forward rendering path shader如下: // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObje ...

  6. 《A Structured Self-Attentive Sentence Embedding》(注意力机制)

    Background and Motivation: 现有的处理文本的常规流程第一步就是:Word embedding.也有一些 embedding 的方法是考虑了 phrase 和 sentence ...

  7. 超简单系列:ubuntu 13.04 安装 apache2.2+mod_wsgi+Django

    1,Ubuntu更新系统 sudo apt-get update sudo apt-get upgrade 2,安装apache,mod_wsgi,Django sudo apt-get instal ...

  8. html5-select和datalist元素

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  9. sitecore系列教程之Sitecore个性化-体验概况概述

    SITECORE 8:体验概况概述 什么是体验简介? 体验配置文件是Sitecore中的仪表板应用程序,它说明了客户体验和交互的关键区域,例如访问者详细信息,访问,活动,目标,配置文件,自动化等等. ...

  10. Another Meaning (KMP + DP)

    先用KMP重叠匹配求出各个匹配成功的尾串位置.然后利用DP去求,那转移方程应该是等于 上一个状态 (无法匹配新尾巴) 上一个状态 + 以本次匹配起点为结尾的状态(就是说有了新的位置) + 1 (单单一 ...