王亚伟,华为云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 年,CloudIDE 将对所有鲲鹏实例全年免费。