使用体验神似VS Code,华为云CloudIDE的前世今生都
在华为开发者大会HDC.Cloud上,华为云发布了基于鲲鹏计算的开发者服务 — CloudIDE服务,为鲲鹏开发者提供了很好的云端开发体验。
体验过CloudIDE的小伙伴都会有这样一个感觉,使用体验非常接近于Visual Studio Code(VS Code),包括界面布置、插件体验都很熟悉,甚至不需要重新学习就可以把本地的开发工作直接移植到云端。
那这样一款云端IDE服务是怎么被打造出来的呢?
一声令下云起航
华为持续投入云计算及相关技术和产品研发已近10年,在虚拟化、存储、计算、云数据中心等领域不断进步。
2017年,华为成立Cloud BU,强力投入公有云,致力于为企业提供稳定可靠、安全可信、可持续创新的云服务。
展望未来,华为云将基于自身软硬件的技术优势,携手伙伴,持续为企业客户打造全球最佳体验的混合云,成为企业首选的云服务伙伴。
为了服务华为云开发者,2016年推出软件开发服务 DevCloud,并逐步成为华为云软件开发平台。
华为云DevCloud是集华为研发实践、前沿研发理念、先进研发工具为一体的研发平台,面向开发者提供研发工具服务,让软件开发简单高效。
华为云DevCloud产品家族全集图
在落实云服务开发DevOps实践过程中,我们发现开发者可以把需求、代码、构建、测试、发布、部署、运维、运营等工作全部从本地转移到云端,享受云服务带来的移动性和便利性。
仅有Codg一直缺乏有效的上云方式,导致开发者手中没有“趁手的家伙事儿”,传统IDE和云资源之间相对低效的开发体验,一直是横在全云化开发面前的一个“坎儿”。
据此,我们决心打造一款云上Codg的开发工具 —— 华为云CloudIDE。
十分挑剔觅玄铁(选定原型)
2015年资源方案,Kuberes避免了容器裸奔
为了给用户提供云端稳定的开发环境,起初CloudIDE研发团队考察了无数种资源方案,云桌面、虚拟机、沙箱、容器,但就资源易获取和编排管理能力而言,各种方案都没有完美的解决,但最终容器的易获取性和资源灵活性还是打动了我们。
Kuberes(简称K8s),是一个提供跨主机集群的自动部署、扩展以及运行应用容器的平台,从支持OpenAPI起,K8s就成为了实际意义上的最主流的容器集群管理平台。
华为云随即上线了兼容K8s能力的CCE服务,为开发环境服务提供资源管理和适配能力,容器裸奔时代就正式结束了。
2016年 Eclipse Che牛刀小试
当时业界主流的IDE工具无非几种,Eclipse、Visual Studio、IntelliJ,直到今天这几款也依然是桌面开发者的首选。
基于提供多语言适配能力开发工具的初衷,以及考虑到商业许可及用户接受度,我们选择了基于Eclipse Che来构建第一代CloudIDE服务的方案。
这种新出现的WebIDE把本地开发工作搬到了云端,开发者可以在云端保存自己的开发环境,编写代码,运行和调试应用,甚至我们还可以对接云服务,提供类似代码检查这样的集成化场景能力。
2017年CloudIDE “公测”了,在磨砺中积累经验
自从2017年CloudIDE服务开始公测,就不断接到用户各种吐槽:
“启动这么慢,要3分钟,还会失败!”
“你们不是基于Eclipse吗,长得一个Eclipse模样,怎么用起来和Eclipse差距这么大呢,快捷键呢?”
“怎么调试和运行,连个缺省的调试能力都没有吗?没有调试功能还算IDE吗,这充其量只能算个玩具吧?”
“编码提示呢,那么多保留字全靠我自己记,我记不住啊”
“不是有个容器吗,容器让不让我访问啊”
从用户不断质疑的声音中,逐步找到了开发者对于一款云端IDE的关注点:
体验:
开发者已经掌握了一到两种桌面IDE的使用,再去学习新的IDE开发体验会给日常工作带来额外的负担,另辟蹊径的操作体验未必会被开发者接受。
Visual Studio Code之所以能以轻量之身霸占热度之首,凭借的就是兼容各种开发语言的能力。不用再学习啦,节约多少时间!
成本:
没人不关心钱的问题,只是程度不同。如果位于云端的IDE管理服务和语言服务过于重载,要么服务商吃不住(运营成本太高),要么用户受不了(要求配置太高)。
原有的IDE框架还是过于重载,甚至需要两个容器才能支持一个用户实例。成本太高啦,劝退多少用户!
生态:
“独行快,众行远”,任何平台都需要伙伴的聚合与共赢,不能指望自己可以搞定所有的事情,可以提供相关的方法。
插件,就是为了满足定制化需要而出现的机制,可以说在各种桌面系统上已经有了极好的效果,支持插件也是一个必要的选项。开放插件生态,聚合多少伙伴!
价值:
每一个服务都有它的商业价值,IDE服务除了完成编写代码和运行调试的基本能力,还要可以融入业务场景。
Eclipse就是特别好的例子,当年IBM Rational基于Eclipse发布的ClearCase和ClearQuest客户端,结合日常编码,造就了良好的程序员工作闭环。基于场景集成,简化多少操作!
有了方向和目标,CloudIDE团队对极致体验的追求、对服务价值的寻觅、对自身能力的进化,从未停下脚步!
2019年眼前一亮,Theia的包容并蓄
在伴随Eclipse Che社区前行的路途上,团队步履蹒跚、心情沉重。本地化IDE产品的优秀体验不断激发着我们,VS Code因生态繁荣而蝉联最受欢迎的IDE工具,IntelliJ实现了极致的Java开发体验。
2019年,Eclipse Che 7.0预览版的出现让团队看到了曙光,其良好的前端体验让我们眼前一亮。通过研究,我们聚焦到了其前端核心服务 Eclipse Theia。
什么是Theia?
网络推广
- 5g网络有多快:5g网络网速有多快
- dota2无法连接至steam网络 为什么无法连接dota2网络
- 无线网络信号接收器 无线网络信号接收器怎么用
- 网络延时是什么意思 网络延时是什么原因
- 无线网络不可用:无线网络不可用是什么原因
- 网络广告销售技巧 网络广告销售技巧有哪些
- 智能手机网络设置 智能手机网络设置在哪里
- 为什么找不到无线网络 为什么找不到无线网络信
- 网络这么赚钱:网络怎么能赚到钱
- 为什么无线网络连接不上 为什么无线网连不起来
- 网络上的人际交往 网络上人际交往的优势
- 支付宝网络系统异常 支付宝显示网络异常什么时
- 营销软件:营销软件有哪些
- 无法访问您要使用的功能所在的网络位置
- 网络安全基本知识 网络安全基本知识有哪些
- 什么网络电话最好用 什么网络电话最好用最便宜