百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

百度乔刚:前端可视化难点分析及探索实践

liuian 2025-01-31 14:02 13 浏览

CSDN年度技术盛宴 “SDCC 2015中国软件开发者嘉年华”将于2015年11月19-21日在北京召开。CSDN软件研发频道将采访一些与会讲师,谈谈他们将在会上分享的内容。

本期我们采访的讲师是百度EFE团队资深工程师、百度ECharts产品工程师乔刚。在他看来,在专业性较强的数据可视化领域,前端开发者应掌握一定数据可视化知识,才能合理运用数据进行标准的可视化展现,否则会比较容易陷入一些常识性的问题中去。同时,为了达到性能的最优,开发者也应考虑更细致的渲染方式及更优化的代码逻辑,这里面的大坑小坑还是不少的。

CSDN:首先,请介绍一下自己和所在的ECharts研发团队。

乔刚:我是2010年加入百度的,目前在多模交互搜索部,EFE(Excellent FrontEnd)团队,参与ECharts 和图说的开发工作。

我所在的ECharts 团队是一个专注于Web前端数据可视化的团队,主要的产品有 ECharts和图说。前者是一套开源的基于 Canvas的纯Javascript图表库,提供了多种可交互的图表,后者是则一款通过图形化操作,来制作ECharts图表的 Web端工具。

CSDN:大数据时代,前端数据展示、交互越来越重要。对于前端开发人员来说,实现这两点面临的技术难题是什么?

乔刚:我觉得数据可视化的专业性比较强,对于专注于前端的开发人员来说,要进行专业的可视化展现,需要掌握一些专业的数据可视化知识,才能合理的运用数据进行标准的可视化展现,否则会比较容易陷入一些常识性的问题中去。另外如果使用的是Canvas进行图表绘制过程的话,很多元素的定位及尺寸需要通过精确的计算来达到理想的效果,而在大数据量的情况下,为了达到性能的最优,也要考虑更细致的渲染方式及更优化的代码逻辑,这里面的大坑小坑还是不少的。

CSDN:ECharts都使用了哪些核心前端技术? 是如何出色地帮助前端开发人员实现各类数据示图的展示与交互的?

乔刚:ECharts 是基于 ZRender 进行绘制的,而 ZRender 也是我们团队开发的一套的Canvas 图形库,兼容IE8和移动端,并且提供了类 DOM 的事件模型,在ZRender基础上我们能够更轻松的绘制可视化的效果以及实现各种交互和动画,除了Canvas在ECharts-X中我们也尝试了使用WebGL去绘制三维的图形。

CSDN:短短3年时间,ECharts已发展成国内可视化领域娇娇者,相比同类数据可视化产品,如Highcharts,ECharts 的优势体现在哪些方面?

乔刚:3年时间里,经过了两次大的版本升级,ECharts 不断丰富可视化图表的种类,除了一些常见的图表外,还增加了诸如力导向图、和弦图、事件河流图、树图、热力图、字符云等时下比较常用的图表,来完善和满足可视化的需求。另外在图表的交互方面,提供了诸如拖拽重计算、动态类型切换、值域漫游、多图联动等交互,不仅将图表进行了展示,更可以让使用者参与其中,进行多样的数据交互。再有就是 ECharts 使用的是 BSD 的开源协议,是完全免费的,可以用于任何形式的商业开发,在使用时不用考虑费用的问题。

CSDN:自开源以来,开源社区对ECharts的发展做了哪些贡献?百度在其中扮演着怎样的角色?

乔刚:虽然目前ECharts的开发主要还是我们团队的同事在做,但是在GitHub 社区上还是收到了2000多条的Issue反馈,这些反馈包括提交Bug 的,询问API 如何使用的,为我们提建议的,讨论细节实现的。这些反馈在帮助我们改进 ECharts 上提供了极大的帮助,我们通过反馈也发现了很多之前没有发现的问题。所以 ECharts 在开源社区也是受益者,也要感谢关注 ECharts的朋友们。

CSDN:ECharts 近期的研发计划是怎样的?

乔刚:近期可能会有人会发现 ECharts 项目在 GitHub 上有很多 Issue 没有关闭,也发现 ECharts2.0的代码最近一段时间没有更新了,甚至有朋友发来邮件询问 ECharts 是不是停止更新了,在这里也跟大家解释一下,其实是因为目前团队的同学们正在专注开发3.0,因此对2.0的问题暂时抽不出时间处理。

其实从今年7月份开始 ECharts就开始了 3.0 的规划和开发,因为 2.0的模块抽象程度不够导致后面扩展新的图表和组件很麻烦,很多已有的代码都不能复用,再加上组件之间有或多或少的耦合导致 2.0 的文件体积庞大,打包的最小版本就已经接近400k,对移动端很不友好,所以团队在3.0中下决心重写了所有代码。整理了整个程序的流程,抽象出了各基础的模块,组件与组件之间也做了解耦,因此在 3.0 中能做到更小的体积,更多的功能,更好的扩展性,更灵活的打包。

除了3.0之外我们还有一个重要的研发方向是我目前在做的新版图说,这也是老版图说被吐槽众多之后痛定思痛我们决定推倒重来,希望能够做出一个更好的针对非开发人员使用的数据可视化工具。

网友说的API工具(如,提供一些常用平台数据的API接口)我们也有考虑过,但是可能因为人力的关系最近做不起来。

CSDN:SDCC 2015上您分享的主题是什么?选择该主题的原因是什么?

乔刚:题目是《ECharts Next —— 延续前端的可视化开源实践》。主要来介绍下ECharts团队在过去的半年里,针对可视化领域的需求和痛点,又有哪些尝试和改进,希望可以给听众带来有价值的分享。

CSDN:您最期待在本次SDCC 2015上听到哪些内容?

乔刚:除了数据可视化领域方面的内容外,还比较期待关于前端和信息安全相关的内容。

值得一提的是,由CSDN举办的 SDCC 2015中国软件开发者嘉年华将于11月19-21日在北京举行,本次大会涵盖:新型数据库、编程语言、工具与平台、产品与设计、前端开发、算法、微信开发、架构实践、安全等九大分 论坛,届时国外知名讲师将分享所在领域的最佳实践。

相关推荐

【常识】如何优化Windows 7

优化Windows7可以让这个经典系统运行更流畅,特别是在老旧硬件上。以下是经过整理的实用优化方案,分为基础优化和进阶优化两部分:一、基础优化(适合所有用户)1.关闭不必要的视觉效果右键计算机...

系统优化!Windows 11/10 必做的十个优化配置

以下是为Windows10/11用户整理的10个必做优化配置,涵盖性能提升、隐私保护和系统精简等方面,操作安全且无需第三方工具:1.禁用不必要的开机启动项操作路径:`Ctrl+S...

最好用音频剪辑的软件,使用方法?

QVE音频剪辑是一款简单实用的软件,功能丰富,可编辑全格式音频。支持音频转换、合并、淡入淡出、变速、音量调节等,无时长限制,用户可自由剪辑。剪辑后文件音质无损,支持多格式转换,便于存储与跨设备播放,满...

Vue2 开发总踩坑?这 8 个实战技巧让代码秒变丝滑

前端开发的小伙伴们,在和Vue2打交道的日子里,是不是总被各种奇奇怪怪的问题搞得头大?数据不响应、组件传值混乱、页面加载慢……别慌!今天带来8个超实用的Vue2实战技巧,每一个都能直击痛...

Motion for Vue:为Vue量身定制的强大动画库

在前端开发中,动画效果是提升用户体验的重要手段。Vue生态系统中虽然有许多动画库,但真正能做到高性能、易用且功能丰富的并不多。今天,我们要介绍的是MotionforVue(motion-v),...

CSS view():JavaScript 滚动动画的终结

前言CSSview()方法可能会标志着JavaScript在制作滚动动画方面的衰落。如何用5行CSS代码取代50多行繁琐的JavaScript,彻底改变网页动画每次和UI/U...

「大数据」 hive入门

前言最近会介入数据中台项目,所以会推出一系列的跟大数据相关的组件博客与文档。Hive这个大数据组件自从Hadoop诞生之日起,便作为Hadoop生态体系(HDFS、MR/YARN、HIVE、HBASE...

青铜时代的终结:对奖牌架构的反思

作者|AdamBellemare译者|王强策划|Tina要点运维和分析用例无法可靠地访问相关、完整和可信赖的数据。需要一种新的数据处理方法。虽然多跳架构已经存在了几十年,并且可以对...

解析IBM SQL-on-Hadoop的优化思路

对于BigSQL的优化,您需要注意以下六个方面:1.平衡的物理设计在进行集群的物理设计需要考虑数据节点的配置要一致,避免某个数据节点性能短板而影响整体性能。而对于管理节点,它虽然不保存业务数据,但作...

交易型数据湖 - Apache Iceberg、Apache Hudi和Delta Lake的比较

图片由作者提供简介构建数据湖最重要的决定之一是选择数据的存储格式,因为它可以大大影响系统的性能、可用性和兼容性。通过仔细考虑数据存储的格式,我们可以增强数据湖的功能和性能。有几种不同的选择,每一种都有...

深入解析全新 AWS S3 Tables:重塑数据湖仓架构

在AWSre:Invent2024大会中,AWS发布了AmazonS3Tables:一项专为可扩展存储和管理结构化数据而设计的解决方案,基于ApacheIceberg开放表格...

Apache DataFusion查询引擎简介

简介DataFusion是一个查询引擎,其本身不具备存储数据的能力。正因为不依赖底层存储的格式,使其成为了一个灵活可扩展的查询引擎。它原生支持了查询CSV,Parquet,Avro,Json等存储格式...

大数据Hadoop之——Flink Table API 和 SQL(单机Kafka)

一、TableAPI和FlinkSQL是什么TableAPI和SQL集成在同一套API中。这套API的核心概念是Table,用作查询的输入和输出,这套API都是批处理和...

比较前 3 名Schema管理工具

关注留言点赞,带你了解最流行的软件开发知识与最新科技行业趋势。在本文中,读者将了解三种顶级schema管理工具,如AWSGlue、ConfluentSchemaRegistry和Memph...

大数据技术之Flume

第1章概述1.1Flume定义Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。1.2Flume的优点1.可以和...