王亚伟,华为云DevCloud研发技术总监。他将一杯咖啡,推到老同学面前。“一杯咖啡吸收宇宙能量”是华为的企业文化,王亚伟深得此精髓。“开发者并不在乎从松江到张江,但他们时刻想着什么时候‘内环’通车。”或许,这只是大咖之间才能听懂的对话。毕业之后,老同学一直在研究ARM架构,他所说的“内环”与交通无关,但与距离有关。而这正是王亚伟此行的目的,华为云CloudIDE的研发此时已经启动。

没有任何差别,甚至…

华为开发者大会2020(Cloud)期间,王亚伟面向全球开发者介绍了CloudIDE。作为华为云DevCloud开发平台的核心组件之一,CloudIDE一改此前桌面IDE臃肿笨重的形象,也一改此前磨蹭拖沓的形象。当然,还有“交通”问题,CloudIDE打通了编程的开发态和运行态,即开篇所说的“内环”通车,x86平台和鲲鹏平台之间将不再有“异地恋”的相思之苦。

“鲲鹏920非常强大,完全感受不到与x86系统的任何差别,甚至在某些场景中表现得更好。”在王亚伟的印象中,ARM多年来一直蜷缩在智能移动终端、物联网终端,或者树莓派(RPi)等单片机电脑中,业内并没有将其应用于服务器的先例。

此时,王亚伟和他的团队正在进行CloudIDE的原型研发,并第一次将CloudIDE内核部署在基于鲲鹏920的服务器中。当然,这也使王亚伟真正了解到鲲鹏920的实力。

事实上,CloudIDE背后有一些很复杂的语言服务,针对于Java、Python和C++等语言服务,语言服务需要对全量代码进行解析,更需要很强大的算力来支持。而这一次部署也彻底打消了王亚伟此前对ARM的疑虑,用王亚伟的话来描述:“但仅仅一个小时,团队就擦掉了所有问号。”

身为华为云DevCloud研发技术总监,王亚伟此前曾就职于英特尔、微软等公司。他回忆华为云DevCloud研发团队第一次将CloudIDE原型系统部署在基于鲲鹏920处理器的服务器上时是一年前,不经意间,王亚伟又透露了两个信息,而将这两个信息捏合在一起,即可还原当时的研发进度,CloudIDE系统几乎与鲲鹏处理器同时起步。或者说,鲲鹏处理器几乎与鲲鹏开发者生态同时起步,从一开始,鲲鹏就是一个极为庞大、极具颠覆性的构想。

不可拒绝的IDE之轻

确实,华为云CloudIDE就是为了鲲鹏生态而生。但在此之前,可先回顾开发者工具的演进历史。通常认为,IDE(集成开发环境)的前身是代码编辑器。可如此比喻,就如“关老爷”手中的“青龙偃月刀”,代码编辑器就是程序员安身立命的武器。

而此后出现的桌面IDE,虽并未取代代码编辑器,但提供了更强大的代码理解和代码调试能力。2015年,微软推出Visual Studio Code,这可称一款划时代的产品,其几乎兼容了代码编辑器和桌面IDE的能力。

当然,此时的IDE并也没有摆脱臃肿笨重的形象。桌面IDE的前台与后台紧耦合,对电脑配置有极高的要求。稍加留意,如果您发现身边有人在使用七八公斤的17寸笔记本,他不是专业游戏玩家,就多半是资深软件开发工程师。

言归正传。重量级的华为云CloudIDE却是一款“轻量级WebIDE”,不仅具备Visual Studio Code的能力,更可为开发者提供在线编程体验,开发者甚至不用在本地安装任何程序,只需打开浏览器即可进行编码和调试。或者说,CloudIDE的原理类似于虚拟桌面,其将编码环境与IDE环境进行解耦,甚至借助一台智能手机,也能进行编码调试,这或许才是真正的“拎包入住”或者“开袋即食”的体验。

两点之间 CloudIDE的距离最短

延伸此话题。“轻量级”的华为云CloudIDE,不只是轻盈,更是轻巧。鲲鹏处理器的基因是ARM架构,但此前基于x86架构的IDE平台,似乎对ARM并不友好。最为现实的情况是,ARM开发者往往不在进行脑力劳动,而更多的是在进行体力劳动:他们并不是在编程,而是一直在“代码搬家”的路上,“码农”的形象用在他们身上尤为贴切。

而最让这些“码农”崩溃的场景是:开发者使用基于x86架构的代码编辑器,之后各显神通进行“代码搬家”,将程序迁移至基于ARM架构的编译环境。运行测试过程中如发现BUG,需再将程序回迁至原环境进行修改。如此往复,可能每天最多要“折返跑”百次以上。

以专业语言解释,此即是上述所说的“内环割裂”。“编码-编译-调试-测试-编码”被称为开发“内环”,此前ARM与x86之间,老死不相往来,一直处于“内环割裂”状态。按下F5快捷键,本可以解决的问题,却需要反复搬家。

当然,上述情景肯定不会在CloudIDE继续出现,F5快捷键恢复了其价值,而且会被迅速磨平。华为云CloudIDE可在线创建编码环境,可在浏览器中进行编码和调试,其打通了任督二脉,即打通了编程开发态和运行态。

也就是说,在x86和鲲鹏之间,CloudIDE的距离最短。开发者将不再有“异地恋”的相思之苦。甚至开发者并不会感受到云端技术架构是x86,还是鲲鹏。因为在华为云的定义中,开发者关注鲲鹏是一种状态,开发者无感于鲲鹏的存在才是一种更高的境界。

编程,其实只需一杯咖啡的时间

再继续此话题。“轻量级WebIDE”更大的意义,还体现在“轻快”。其在30秒之内,即可在线创建开发环境,10分钟之内,即可快速开发部署鲲鹏云原生应用,而传统桌面IDE完成上述动作,则需3小时以上。

据华为云云原生领域专家说,“企业上云,云原生已是必然选择,而且越来越多的企业,正在将高并发的核心业务,迁移至云原生平台中。”

目前,CloudIDE已经将华为云底层的诸多服务拉通。例如,只需执行一个程序指令,即可将微服务推送至华为云镜像服务,此种优化极大地提升了开发效率,或许一杯咖啡的时间,就可基于“鲲鹏原生”平台,完成应用程序编写,而传统IDE则需逐步进行手工操作。对此,华为云云原生领域专家说:“开发者几乎可以零等待地获取鲲鹏原生能力,而对于鲲鹏的所有陌生和误解,也将在零成本的试用体验中消除。”

全年免费

如上即是华为云CloudIDE,轻盈、轻巧、轻快的华为云CloudIDE。传统IDE摆脱臃肿笨重的形象,已经成为历史;x86平台和鲲鹏平台之间,也将不再有“异地恋”的相思之苦;甚至一杯咖啡的时间,就可基于“鲲鹏原生”平台,完成应用程序编写。由此,开发者才可以专注于应用本身的成就,专注于代码本质的快乐。

而最后说一句:华为开发者大会2020(Cloud)期间,华为云在介绍CloudIDE的同时,还进一步宣布:2020年,CloudIDE将对所有鲲鹏实例全年免费。