我希望以后可以利用动画来演示分布式系统的工作原理,所以今天调研了一些制作动画的方案。本来我是最喜欢用python的,但是没有找到合适的lib。倒是发现很多js相关的库。总结一下。
d3
d3js
https://d3js.org/
D3.js是一个功能最强大的用于绘图的JavaScript库,用于根据数据处理文档。D3 是 Data-Driven Documents 的简称。D3帮助您使用HTML,SVG和CSS使数据栩栩如生。优点是D3例子很丰富,很多例子你可以直接拿来改改就可以用,文档很全。你可以利用d3做出很多很酷炫的效果图。缺点是api比较偏底层。而且对动画的支持不是太方便,缺少现成的api。
gojs
gojs看上去最符合我的需求,文档全面,例子也很丰富。可以做出各种动画效果,但是是商业软件,个人许可也要$3,495。算了,伤不起。
animejs
从名字就可以看出是专门用来做动画的js库。 支持各种动画效果。在github上有超过3万的点赞和接近3千的fork。例子做的很生动,api也很简洁,挺适合的。只是没有对svg的创建等api,可以理解,因为它是专做动画的。我就先收了。然后再找找svg的js库。就找到了svgjs
svgjs
从名字上看就知道是专门用来处理svg的。svgjs的文档也不错。在github上也有8千的点赞和1千的fork。令我意外惊喜的是它还支持动画。太好了。就先用他了。如果动画效果不够,可以搭配animejs一起使用。
下一步
我打算近两天用svgjs试着做出一个kafka的启动过程的演示效果动画。喜欢的小伙伴可以留言支持和关注。
本文暂时没有评论,来添加一个吧(●'◡'●)