【开源访谈】ECharts 作者 林峰 访谈实录

http://www.oschina.net/question/947559_144622



关于开源访谈

开源访谈是开源中国推出的一系列针对国内优秀开源软件作者的访谈,以文字的方式记录并传播。我们希望开源访谈能全面的展现国内开源软件、开源软件作者的现状,着实推动国内开源软件的应用与发展。  

【作者简介】  

【开源访谈】ECharts 作者 林峰 访谈实录_第1张图片  

林峰,开源中国 @Kener-林峰github @kener ,微博 @Kener-林峰,百度商业前端通用技术组,数据可视化方向负责人,资深前端研发工程师。喜欢设计,热爱编程,ZRenderECharts 作者,目前专注于数据可视化方面的研究工作。  

【软件简介】 

ECharts,纯Javascript图表库,基于Canvas,底层依赖ZRender,商业产品通用图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表,支持折线图(区域图)、柱状图(条状图)、散点图(气泡图)、K线图、饼图(环形图)、雷达图(填充雷达图)、和弦图、力导向布局图、地图(内置世界地图、中国及全国34个省市自治区地理数据),同时支持任意维度的堆积和多图表混合展现。  

【访谈实录】  

1. 能否先介绍一下你自己(技术背景、工作经历、学习经历)?

没什么辉煌的经历,只是回想一下好像冥冥中安排好似的。

02北邮计算机本科,算是科班生出身,计算机相关基础理论都是填鸭式的学了一遍,得益于各种实习经历那时觉得自己C++写得不错,也得益于各种学生会活动积累了些ps的技能同时重新唤醒了自己从小到大对于设计兴趣,可以说从此坚定了自己未来职业规划方向是在编程+设计结合的领域。成绩凑合,06年保研跟随杨放春和苏森教授研究方向是下一代网络, 依然写着C++MFC嘛,揽了各种客户端用户界面的活,很花哨的为系统写换肤、个性化功能,回想起来还是挺有意思的。

毕业前一年机缘巧合遇到了一位资深顾问带着创业项目从美国回来,于是作为技术合伙人组建起技术团队,第一次接触web,什么都不懂就开始没日没夜的封闭开发了半年,风风火火的在加州注册了公司,上线运营了半年发现不对劲。离毕业被赶出学校还有2周,我们散伙了,四散找工作去,还好这帮哥们都是比较NB的人物,没啥费劲就都有着落了,要不我真愧疚一生了。

这段经历基本改变了自己的编程领域,从CSBS,但并未改变方向,可以说发现了一个更加吻合自己方向的职业:web前端。于是投了百度,很幸运的被Forain师兄收留成了一名FE,而且分配到一个对公司举足轻重的产品:凤巢系统。2年多的摸爬滚打从菜鸟变成了高级菜鸟,成了凤巢前端的技术负责人,整天跟各种数据打交道,开始知道了数据的价值和力量,那是2012年末,大数据这名词才刚刚浮出水面,数据可视化更是(至少在国内)未被流传,乔帮主不让i系列上运行flash加上html5开始火热,我们需要寻求一个解决方案,用于凤巢系统数据报表的可视化展现,用于对凤巢系统用户体验监控数据的可视化展现等等,编程+设计+数据的结合的仿佛为自己量身定制,于是就转向了数据可视化的研究。百度前端领袖人物Erik回归后组建了商业前端的通用技术组,特意的规划出数据可视化方向,我也就顺理成章的从凤巢技术负责人的角色转到现在的角色,然后就挖了一个很深很深的坑(ECharts的功能设计),紧接着的近1年的时间里就开始与团队一起一点点的填上这个坑。

2013年630日,百度商业前端数据可视化团队带着ECharts 1.0.0与大家见面,半年多的时间,我们迭代发布了10个版本,成了“2013 年国产开源软件 10 大年度热门项目”之一,还在“2013 年度最新的 20 大热门开源软件”中排名第一,我很幸运代表团队被大家认识,十分感谢开源中国,感谢大家的支持。这就是今天的林峰。

 

2. 是什么促使你开发 ECharts 

我想上一个介绍里已经基本回答了吧,对于个人,兴趣和职业规划导向,对于公司,强需求驱动。

 

3. 能否简单介绍一下 ECharts 以及它的应用场景?

数据可视化产品有很多,ECharts定位在满足可复用的商业数据可视化需求,与业界已有的HighchartsFusionCharts同级别的产品,当然他们都是成熟的商业收费产品,我们免费开源了,才起步,完善程度还有不小的差距。但不谦虚的说,ECharts高度个性化和交互能力在不少方面已经成为了业界领先,拖拽重计算、大规模散点图获得了国家专利,数据视图、值域漫游、子地图模式也都是业界首创,独有的功能。至于应用场景就比较广了,不同行业都有各种需求。互联网就不用多说,报表系统、运维系统、网站展示,只要有数据展现的需求基本都能使用。像传媒,数据新闻在近几年也被越来越多的提及,财新网走得很前,他们是最早使用ECharts作为数据新闻的可视化工具。各行各业其实都有营销展示、企业品牌宣传、运营收入的汇报分析等各种各样的应用场景,不管大数据是否被过渡热炒,数据确实已经成为很多企业最受重视的财富之一,有数据的地方基本都会有这方面的需求。

 

4. ECharts 目前是怎么推广的,在实际项目中的应用情况如何?

其实没啥推广,也就升级版本自己发发微博,在开源中国发个简单的升级的报道,没借助公司的力量,甚至内网新闻都没发过一篇。用口口相传可能不太合适,但确实就是靠大家相互传播的。

应用情况还好了,对于百度,毕竟这项目本身是为公司服务,整个商业体系的业务系统新需求开发基本都在使用ECharts,原有业务的升级也都往这上迁移,目前ECharts不仅支撑起百度多个核心商业业务系统(如凤巢、广告管家、鸿媒体、一站式、百度推广开发者中心、知心业务系统等等)的数据可视化需求,还有为数众多的后台运维及监控系统(如百度站长平台、百度推广用户体验中心、指挥官、无线访问速度质量监控、凤巢代码质量统计报告等等)。

非百度使用ECharts情况我就不方便直接透露了,可以肯定的是比我们自己的项目要多,各行各业远超我们自己的预期。甚至还得到了跨领域以及国外技术团体关注,比如在R领域就同时出现国内外两个版本的接口扩展(其一就是R领域里大名鼎鼎的Ramnath VaidyanathanECharts已被包含进rCharts的扩展中),其他开发语言还有JuliaPython接口扩展项目,这都是其他编程爱好者自发的项目。听说还有两家亚太地区金融咨询企业在研发基于EChartsBI类产品,甚至还有人拿着ECharts跑到纽约市长数据分析部门的给他们展示,这都是我们的意外收获。再次感谢大家的支持。

 

5. 目前有哪些人参与到了 ECharts 的开发?平时花费多少时间精力在这个项目上?

目前参与开发的基本都是我们自己团队的人,并未有非百度的研发人员加入。具体是谁就不方便直接点名了,在我看来他们可都是技术Genius,除了对这个方向有着极大热情之外大多还有着数学计算,图形图像处理方面的丰富经验,其他公司可别把他们挖走哦。其实也不是什么秘密,真有心通过微博或代码签名也都能把我团队成员全找到,ECharts主页改版后我也争取把团队成员介绍给大家认识。团队的核心成员包括我基本全力投向这个项目,除了升级维护还有项目支持的工作,其他的还有些游走在常规项目和可视化方向的同学参与着。

 

6. 你是否有通过 ECharts 获得收入?维护这个项目和你的全职工作如何平衡?

我很幸运,ECharts 项目本身就是为公司服务的,商业前端数据可视化方向的工作目前就是我的全职工作。收入是不会有的,不是没人给,找上门的外包项目、技术支持需求还是挺多的,只是项目性质以及公司规定我是不能从中获得收入的,包括很多公司邀请去分享介绍都提出能给费用的,我给的回答都是“免费能去,收费就不能去了”,作为开源项目,我们希望更多人使用,我们可以收到更多的反馈和建议以完善和推进这个项目,这对我们就是莫大的收益,所以我很乐意提供这方面的分享,并不以获得额外收入为目的。

 

7. ECharts 将来的发展方向?

技术发展很快,刚过去的这3个月我已经看到国外几大同类产品都发布了大升级,相关领域很多新创公司的成立,多起融资收购的报道,百度迁徙的出现也一夜间家喻户晓,可以说数据可视化的春天到了,很庆幸我们踩对了时代的步伐,但这本身也是挑战,新年回来我就跟团队同学说,只要我们慢下来,不出半年我们就会被遗忘。我定不出3年计划,3年计划在互联网也是不适合的,甚至1年计划我都没完整写完,我只明确了这半年内ECharts要做什么,提高用户体验、性能、样式,让更多的人可以更加低成本的实现数据可视化需求。

 

8. 能否谈一下你对开源的理解,以及对国内开源技术和产品的看法?

在我看来,与人分享一个苹果,你只剩半个,但与人分享一个想法,你什么都没减少说不定还能收获更多的想法,这就是开源的魅力。可以肯定的说,如果ECharts没有开源,半年时间绝不可能有这个发展速度,半年多以来来自开源社区的需求和反馈从未间断,不仅如此,通过开源,我们还认识到国内外的领域专家、编程爱好者、社区、论坛各种公司,比如来自统计之都的现任秘书长@cloud_wei已经成为ECharts的推广大使,来自视觉中国的设计总监颜冬也在最近成了ECharts的首席设计师,还有像财新网CTO @财财某AdMaster精硕科技CEO @闫曌AdMaster@大数据文摘创办人汪德诚、@数据科学家联盟联合创始人兴宝、SupStat联合创始人@陈堰平@马金馨老师、@沐洲@小雍子等等都成了朋友,正是这些人和事极大的推动着ECharts的发展,代表团队感谢大家。

至于对国内开源技术和产品的看法,毕竟专精面向的领域还是比较窄的,我没啥发言权,好坏不论,延续开源的话题好了。确实看到国内开源氛围起来了,出现很多优秀的开源项目,不仅开发者个人,更重要的是公司企业的重视和支持,做得比较好的像阿里都已经有集团下的开源项目汇总了,而一直对开源并不十分积极的百度也在前几个月上线了oss.baidu.com,像我所在的百度商业前端的通用技术组作为支撑整个百度商业体系产品的核心技术团队,我们的全部产出都是以开源方式发布,除了EChartsE系还有像ERMVC框架)、ESUI(商业UI库)、ESL(模块加载器)、ETPL(轻量级模板引擎)等数十个开源项目,更多的可以查看我们的repository,第三方使用跟我们自己项目引入并没有任何差别,可以说这也是百度作为互联网领军企业之一对于开源社区的贡献和回馈。至于很多人都会有质疑说国内的很多开源项目都只是山寨国外的项目,像ECharts就很多人说山寨Highcharts的,我只能反问“有守门员就不让射球了?”良性竞争更会促进技术的发展,我希望大家更应该鼓励,人家先起步了,你现在走的每一步在其他人看来可能都是跟随着,但下一个弯道在哪?是否有超越的可能?甚至谁会跌倒谁会最先跑到终点又有谁敢定论?中国那么大,人才那么多,在任何一个技术领域成为全球领先都是可能的,这得靠大家一起的努力,如果你没参与进来,至少应该鼓励吧!

 

9. 你有什么建议给程序员初学者?

基础很重要,大牛经常给我灌输的一个观点,我看来也是这样的,就是Sense,对技术的感觉,对技术的敏感度。编程基础都是通,像我以前也是写C++Java的,转前端也就花了半年时间,不管你写的是什么,作为程序员我觉得应该有点“洁癖”,不是为实现而实现,想明白背后的原因,为啥我要这样写?有没有更好的做法?别人是怎么做到?为什么?不断的反复锻炼就是积累自己对技术的Sense,你的算法能力、设计能力甚至架构能力也就慢慢上来了。

再一点就是一定一定要动手,看书10遍不及动手1遍,很多人问过我怎么学编程,我给的建议都是“找一本经典的书,读的同时从头到尾哪怕最简单的代码片段你都敲一遍、调通跑起来、然后自己完善做个升级,看完做完你就入门了!“

 

10. 能否给开源中国提一些建议?

开源中国做得很好了,没什么能说的。希望你们不要低调了,其实开源中国很多服务和产品都很棒,像Git代码托管、RunJs在线编辑、讨论社区、城市圈活动都应该渗透进各种程序员的圈里,简单易用的加中文环境的工具其实对于很多初入行的程序员很有帮助,想当年msdn上提问那叫一个痛苦,时差问题半夜起来不说,码英文看英文也累。甚至有些可以作为服务提供出来,很多开源软件主页都是静态页面,如果可以把开源中国的讨论、在线编辑作为服务直接引入,那就大好了!

最后,感谢开源中国的帮助,你们在做着一件意义非凡的事,祝愿开源中国越办越好!



你可能感兴趣的:(javascript,开源)