F2,为移动端而生的可视化图表引擎。从 3.1 全新版本发布以来,咱们一直朝着提供高性能,高扩展,开箱即用的生动图表的方向努力,同时面对移动端多样的环境,多端适配也一直是咱们在努力追求的目标。此次 3.6 的升级,咱们不只在性能上取得了突破性的提高,同时在多端适配上,作到了真正意义上的一份代码多端运行。node
在 F2 3.6 里,咱们对缩放和平移进行了总体的重构,去掉了原先 hammerjs 对于浏览器特性的依赖,在内部实现了缩放,平移等手势动做,✨让手势彻底突破端的限制,全端支持! ✨。git
折线图 | 柱状图 |
---|---|
![]() |
![]() |
折线图 | 柱状图 |
---|---|
![]() |
![]() |
演示示例见:f2-wx-demo。github
折线图 | 柱状图 |
---|---|
![]() |
![]() |
演示示例可见:f2-rn-gcanvas-demo。canvas
咱们的目标是全端,咱们后面会提供整一套 native 下的图表解决方案,让你在 native 上也能用 F2 轻松实现可视化图表,让你实现一份代码全端运行!
若是想要在Nodejs端绘制,F2也能搞定,具体实现能够参考 f2-node-demo。小程序
在复杂手势的基础上,咱们对 F2 的性能进行了专项的优化,而且对内部实例的生命周期进行了更细粒度的控制,让图表二次渲染的性能获得大幅度的提高,尤为是对图表手势交互的体验有明显的提高!微信小程序
下面是各个机型在渲染 2200 个数据点的对比效果:浏览器
3.5 版本 | 3.6 版本 |
---|---|
![]() |
![]() |
👍iphone 7p下流畅度提高明显,绘制总体绘制耗时缩短了40%,满帧跑毫无压力!微信
3.5 版本 | 3.6 版本 |
---|---|
![]() |
![]() |
**👍**在低端机型上 3.5 几乎不可用,而 3.6 版本使用基本无问题!markdown
3.5 版本 | 3.6版本 |
---|---|
代码示例: codesandbox.io/s/35-pinch-… | 代码示例: codesandbox.io/s/36-pinch-… |
二维码预览![]() |
二维码预览![]() |
正如前面 AntV 架构演进-F2 篇里提到的,F2 也将迈入 4.0 时代,F2 、G2 也将会有更多的互通,可是咱们的目标仍是不变,依然是为移动端带来高性能、高扩展,且能开箱即用的可视化图表解决方案,敬请期待~
架构
此次的 3.6 版本的主功能是全兼容升级,能够放心使用,缩放和拖拽是全新实现,且默认内置,只用把以前按需引用的方式去掉就能够体验了,固然若是有问题,请经过下面的任意渠道联系咱们,或者直接给咱们提 PR。
很是感谢你的阅读,若是你对 F2 感兴趣,别忘记了在 GitHub 上三连(watch, star 及 fork),欢迎随时交流!