计世网

JetBrains,让敏捷开发更敏捷
作者:宋辰 | 来源:计世网
2018-09-07
对于开发者来说,架设环境、查找代码问题是一些非常琐碎的事情,但是这些“琐碎”却又是不得不面对的。于是,集成开发环境应运而生。提到集成开发,就不得不提其中的佼佼者——JetBrains。近日,记者在北京独家专访了JetBrains公司大中华区负责人李玥萱。

 

对于开发者来说,架设环境、查找代码问题是一些非常琐碎的事情,但是这些“琐碎”却又是不得不面对的。于是,集成开发环境应运而生。提到集成开发,就不得不提其中的佼佼者——JetBrains。

近日,记者在北京独家专访了JetBrains公司大中华区负责人李玥萱,看看这位同时具有软件开发经验和非凡商业头脑企业负责人怎么解读当下的软件开发环境与JetBrains下一步的“中国之路”。

初见李玥萱是在中关村一家酒店的会议室里,一身休闲装扮+双肩背包,标准的“码农”形象。不过,眼前这位程序员风格的是一位长发飘飘、巾帼不让须眉的女士,她现在的身份是JetBrains公司大中华区负责人。

开发者即使用者

相信熟悉Java的人,没有几个不知道JetBrains的。

JetBrains是一家捷克的软件开发公司,最为人所熟知的产品是Java编程语言开发撰写时所用的集成开发环境——IntelliJ IDEA。

不为人熟悉的是,这家公司创始团队的三个人Sergey Dmitriev、Eugene Belyaev和Valentin Kipiatkov就是程序员,当时有一个大型的项目需要将他们的Java项目重构,过程非常复杂,需要一个基于Jave语言的功能齐备的开发环境,否则万一有错,后果不堪设想。但是当时市场上并不具备符合要求的产品。

所以说,程序员认真起来很可怕,有一种可以改变世界的“魔力”。于是,JetBrains的三位创始人着手开发了第一款产品。后来,针对Java代码重构的概念,在此基础下结合众多开发过程中需要的工具进来,才会有如今大家所熟知的这款产品IntelliJ IDEA。

作为一家开发者起家的公司,JetBrains现任CEOMaxim Shafirov也是程序员出身。更有意思的是,JetBrains的开发团队就是JetBrains开发工具的使用者。

“因此,大家都是以贴近开发者的角度去做规划,用自己的开发工具来进行开发工作,这就使得我们的开发者在工作过程中能第一时间了解使用者需求,如果我们的工具里没有某种开发者需要的功能,团队就会第一时间做好优化和改进工作。”李玥萱和公司的大部分员工一样,也是程序员出身。

她先是在本科毕业后,以科班的身份开始了长达5年的互联网开发。此后,由于不满足于仅仅是“直接根据结果编写指令完成开发”,李玥萱攻读了工商管理硕士,也就是我们通常所说的MBA。毕业后,重返软件行业,正是这段时间并不算长的“软件解决方案项目经理”职业经历,让李玥萱有充分的机会与程序员一起从开发执行代码到与客户讨论产品需求,再到整体解决方案规划,也正是这种身份转换,让她更能够从可行性的角度出发,做好产品规划,并且能够顺畅地与开发者和用户两端进行沟通。

为敏捷开发“护航”

这几年,全球范围内,敏捷开发的概念都十分火爆。在敏捷开发中,一个大项目被分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。也就是采用迭代、循序渐进的方法进行软件开发。

中国互联网行业发展的势头之猛有目共睹,用户的需求的不停更新,让互联网行业产品和项目的开发也在不断提速,而且,上线后要经历及时的、不停的纠错和更新,敏捷开发的需求更加强烈。“JetBrains产品的优势正是如何帮助开发者更快写好代码、更及时纠错、用自动化的工具帮助开发者专注在重要的开发工作上。”李玥萱说。

作为跨平台软件,JetBrains支持Windows、Linux和Mac OS系统,兼容性很高。但是,对于集成开发环境,里面会集成很多代码检查的功能,大家还是会担心对硬件要求会很高。对此,李玥萱表示,在实际的生产环境下,开发者第一个要做的事情是把代码项目之间的关联切干净。“如果一个项目非常庞大却没有通过架构设计做一个相应的切割,这就会在无形中为项目维护带来诸多困难。”

李玥萱举例说:“比如,原先用户更改一个类(Class)的名称时,要相应地将所有代码都检查一次,做好所有相应的调整。现在,JetBrains的工具支持在用户更改的基础上自动修改。”虽然开发工具的运行对硬件确实有要求,但是做好设计,会让运行环境更顺畅。“并且我们的工具还会检测出重复的代码、没有引用了确实用到的库等,来帮助开发者优化项目”李玥萱补充道。

有趣的产品关系

JetBrains发布的 2018 开发者生态报告中显示,Java 是最流行的语言,而JetBrains最为人所熟知的产品是Java语言开发时所用的集成开发环境IntelliJ IDEA。Kotlin作为JetBrains开发的语言,在Android应用开发中也是一级语言,与Java并驾齐驱。在生态报告中, Go 被认为是最有前途的语言,而GO语言又是Googe的“亲儿子”。那么,在JetBrains内部,Java、Kotlin、Go这三种语言是怎样的关系?各自又有什么侧重?

为了能够让开发者能够写得更快,代码能够更清晰简洁、有更高的可读性,JetBrains开发出基于JVM的现代编程语言Kotlin,这是与Java100%兼容的语言。不过,同样的功能,用Java语言写出来和使用Kotlin语言写出来,可以明显看见Kotlin语言的代码相对简洁许多。也就是说,为了让开发中能够把代码库再做缩减,JetBrains团队研发出了Kotlin语言。而且,现在Java和Kotlin一直是可以并行使用的。

李玥萱表示,在国内,Java项目众多,Java和Kotlin并行共存有其必然性。Java随着这么长的年代的演进,会有属于他的历史沉淀,而Kotlin是一个相对年轻的语言,可以从更加简洁、灵活的角度去解决Java今天没有办法解决的一些问题。

再来看Go语言,JetBrains做的Go语言集成开发环境叫GoLand,这款工具的推出也是随着Go语言在全球受欢迎的程度慢慢成熟的。GoLand在去年底推出后,今年上半年就已经排到了上半年中国市场产品排名的第五位。

中国市场高增长动能

2017年,JetBrains的财务表现强劲,据公开数据显示,其中中国市场的的销售量增长了83%,而今年上半年,整体市场增长率几近翻倍。从在中国市场销售额排名前三的热门产品来看:排名第一的IntelliJ IDEA,涨幅为108%,这意味着,Java开发、Andriod移动开发、Kotlin开发相关产品的需求明显上升;排名第二的All Products Pack涨幅达到155%,这体现出多个JetBrains开发工具的套包授权,适合跨语言开发的团队的产品需求上升;排名第三的PyCharm涨幅为113%,也就是说,Python开发、科学开发工具产品的需求在上升。

李玥萱表示,这种跨越式增长主要来源于两个方面:第一是与世界一流的团队合作,将最新的语言、技术、需求都带到JetBrains产品里来,不断更新自身解决方案。另一方面是源于中国迅猛的互联网发展需求。尤其是中国近两年在数据科学、大数据方面具像化的需求更多。“大数据分析里面特别喜欢用的语言是Python,对应JetBrains为其开发的IDE - PyCharm。”李玥萱透露,预计今年下半年会有更多的跟科学研究相关的工具功能出来。

采访结束后,李玥萱说她还要去见一拨开发者,而她的北京之行之所以选择住在中关村,也是为了方便去第二天的一个小型开发者沙龙。

责任编辑:宋辰