Lottie的json動畫


我們的設計如是說:

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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM