在华为开发者大会HDC.Cloud上,华为云发布了基于鲲鹏计算的开发者服务 — CloudIDE服务,为鲲鹏开发者提供了很好的云端开发体验。(延伸阅读:华为云CloudIDE,云时代的精创利器)

体验过CloudIDE的小伙伴都会有这样一个感觉,使用体验非常接近于Visual Studio Code(VS Code),包括界面布置、插件体验都很熟悉,甚至不需要重新学习就可以把本地的开发工作直接移植到云端。

那这样一款云端IDE服务是怎么被打造出来的呢?

一声令下云起航

华为持续投入云计算及相关技术和产品研发已近10年,在虚拟化、存储、计算、云数据中心等领域不断进步。

2017年,华为成立Cloud BU,强力投入公有云,致力于为企业提供稳定可靠、安全可信、可持续创新的云服务。

展望未来,华为云将基于自身软硬件的技术优势,携手伙伴,持续为企业客户打造全球最佳体验的混合云,成为企业首选的云服务伙伴。

为了服务华为云开发者,2016年推出软件开发服务 DevCloud,并逐步成为华为云软件开发平台。

华为云DevCloud是集华为研发实践、前沿研发理念、先进研发工具为一体的研发平台,面向开发者提供研发工具服务,让软件开发简单高效。

华为云DevCloud产品家族全集图

在落实云服务开发DevOps实践过程中,我们发现开发者可以把需求、代码、构建、测试、发布、部署、运维、运营等工作全部从本地转移到云端,享受云服务带来的移动性和便利性。

仅有Coding一直缺乏有效的上云方式,导致开发者手中没有“趁手的家伙事儿”,传统IDE和云资源之间相对低效的开发体验,一直是横在全云化开发面前的一个“坎儿”。

据此,我们决心打造一款云上Coding的开发工具 —— 华为云CloudIDE。

十分挑剔觅玄铁(选定原型)

2015年

资源方案,Kubernetes避免了容器裸奔

为了给用户提供云端稳定的开发环境,起初CloudIDE研发团队考察了无数种资源方案,云桌面、虚拟机、沙箱、容器,但就资源易获取和编排管理能力而言,各种方案都没有完美的解决,但最终容器的易获取性和资源灵活性还是打动了我们。

Kubernetes(简称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?

Theia,好一款Cloud & Desktop IDE!多么的神奇,出现了一款同时可以用于桌面和云端的IDE工具,它的界面一如熟悉的VS Code,操作体验流畅自然,插件体系成熟稳定,服务内核精简高效,语言支持与框架分离,前沿的技术运用,友好的商业许可(License),积极开放的发展目标,Perfect!!!

由于Theia的操作界面与VS Code非常接近,操作体验基本一致,有不少人都会误认为这就是VS Code的线上版本。

其实对于开发者而言,不需要重新学习一个新的开发工具,难道不是一件好事?

Theia从设计初期就充分考虑了桌面和云的不同特点,支持容器部署和虚拟机部署,浏览器访问。

Theia内核非常精简,只需要很低配置就可以运行起来。对于VS Code插件扩展体系的直接支持尤其吸引人。

众所周知VS Code的插件市场是业界最大的生态系统,从语言支持、业务对接、平台支持等诸多方面都给最终用户带来定制化能力。

Theia兼容VS Code插件扩展标准,好处不言自明。这也就说明了为什么诸多云厂商都采用Theia方案,来进行自己的云IDE研发。

百炼千锤铸利剑(技术完善)

当今时代,是拥抱开源开放、共享共赢的时代。不重复造轮子,站在巨人肩膀上做事情的考虑,我们积极拥抱Theia开源社区,结合华为自身技术、资源、服务能力, CloudIDE进行深度优化和能力衍生。

服务鲲鹏生态,惠及开发者

众所周知的原因,华为加快了鲲鹏计算平面能力建设。为了服务鲲鹏开发者,CloudIDE推出了鲲鹏基座的IDE实例,让鲲鹏开发者可以在最短时间内获取代码开发和调试的真实环境,免去了交叉编译和工具链缺陷的烦恼,实现服务应用对鲲鹏调优。

在鲲鹏计算平台,释放鲲鹏架构多核算力优势,CloudIDE在Theia内核、语言服务、编译加速、资源调度等方面都做出了大量优化工作。未来,针对鲲鹏开发者的开发、调试、优化的更多能力会逐步上线。

在华为开发者大会HDC.Cloud上,为促进华为鲲鹏生态建设,普惠鲲鹏开发者,华为云与计算BG总裁侯金龙先生正式宣布“2020年CloudIDE鲲鹏实例免费”。即日起,即可在华为云CloudIDE服务体验使用。

完善开发体验

Eclipse Theia对语言支持采用松散框架,通过支持Language Server Protocol(LSP)和Debug Adapter Protocol(DAP)这种开放协议和相关插件实现多语言的编码和调试适配。

CloudIDE在代码自动补全、Java语言调试、Python语言插件、文件编码等重要体验能力上修复了很多重大问题。针对超大型规模代码仓的打开效率,专门做了优化提速。基于云原生开发的和云基础设施的特点,CloudIDE还提供了用户鉴权、示例模板创建、外部端口访问等实用功能。

增强插件能力

为了满足支持华为云和鲲鹏开发者快速实现插件的目标,CloudIDE团队设计了全新的插件扩展框架,上手成本更低、交互机制更好、支持动态多视图和事件订阅,后续会开源出来方便开发者参与生态共建。

同时作为IDE中的“零号”插件,我们也提供了自有插件市场,支持用户安装插件实现定制化需求。未来还会逐步支持用户自己发布插件。

提升服务能力

华为云已经提供了非常成熟的集群管理服务(CCE)、云硬盘服务(EVS)、计算资源(ECS)、网络服务(ELB、EIP、NAT等)、数据库(RDS),把华为云端众多基础服务整合成高度可用、支持用户按需获取资源、支持高并发访问、支持良好使用体验、保障用户数据安全的开发服务。

CloudIDE在用户数据隔离保护,服务代码安全加固,节点智能选择调度,资源规模弹性伸缩,服务韧性可靠性提升等方面,我们都进行了技术攻关和专项研发,保证提供给用户的是可信软件服务。

扩展服务场景

云时代的CloudIDE,不仅开发体验追求高效极致,应用场景也力图包罗万象。

◆提供了针对云服务部署的Developer Console插件,可以把云原生应用一键式部署到华为云CCI形成容器服务实例,大大缩短闭环体验时间;

◆提供WECODE TOOLKIT插件,支持用户云端开发端到端的WeLink轻应用(We码小程序),实现移动应用移动开发;

◆提供针对教育培训场景插件,满足高校师生教学和作业要求;

◆提供权限控制和OpenAPI,满足企业用户和集成商使用云开发能力;

◆提供量子计算、区块链合约开发、代码托管对接、商业智能(EI)开发等相关云服务的原生对接能力,服务广大开发者使用。

回馈开源社区

Theia是一个多元化的社区,CloudIDE产品团队成员积极参与Theia社区建设,迅速成长出一个社区Committer和多名Contributors,大部分团队成员都向社区贡献过代码。未来,我们会更多的参与社区的建设。

华为云CloudIDE服务的所有技术创新都是围绕一个目标“做最好用的云端IDE服务”,向开发者提供优秀的体验,持续高效交付价值,鲲鹏开发者必将实现“手中有剑,心中有梦,鲲鹏展翅,翱翔云端”!

扫码了解详情

-END-

华为云CloudIDE服务

华为云桌面客户端_华为云CloudIDE的前世今生相关推荐

  1. 华为云桌面客户端_华为云服务器购买及环境搭建简述

    一.背景 毕设的一部分是做一个微信小程序,需要购买服务器以提供公网ip.刚好刷牛客看到牛客网和华为云合作推出的超级福利活动,仅需9元即可享受一年的2G内存服务器的使用权,约等于白送有木有!!! 没有丝 ...

  2. 华为云桌面客户端_入冬第一场技术盛宴!DevRun开发者沙龙华为云武汉专场举办...

    做开发有多难?大部分做过开发的人会说:「难,有时候难上加难.」 因为一个开发者会在职业生涯中遇到各种各样的挑战.比如快速迭代的专业知识,要求开发者保持终身学习.快速学习的习惯:还需要开发者持续开拓新的 ...

  3. 华为会议电脑版_华为云会议电脑版下载

    华为云会议电脑版是一款在pc设备上运行的视屏会议软件.可以实现多人远程视频互动,支持多终端账号登录,解决了企业用户日常会议办公操作需求.欢迎使用. 官方介绍 华为会议云pc客户端是基于云架构的多方视频 ...

  4. 华为云桌面Workspace,让云上工作更高效

    大家是否在工作中遇到过因为电脑工作不流畅的问题而生气的摔鼠标.砸键盘,又或者是因为导入导出文件过大,导致频频导出失败的案例呢?相信生活中有很多朋友都和我有过同样的问题,因为自己电脑性能问题,剪辑的视频 ...

  5. 华为云桌面随时随地,开启云上办公

    华为云桌面随时随地,开启云上办公 随着疫情常态化的到来,曾作为员工福利的居家办公.远程办公和协同办公变得越来越常见,不少企业逐渐对云数字化办公产生需求.与此同时,在推进企业云端在线办公的过程中,配备所 ...

  6. 云桌面部署_云桌面时代降临-青椒云工作站

    云计算理念是当代互联网时代的新型理念,用户享受的所有资源.所有应用程序全部都由一个存储和运算能力超强的云端后台来提供.云桌面是基于云计算技术,实现各种终端设备之间的互联互通.我们的电子设备等都只是一个 ...

  7. 玩客云pc端_玩客云电脑客户端-玩客云PC端 V1.4.5.112 免费安装版

    玩客云电脑客户端|玩客云PC端是一款功能实用的私人云盘共享辅助工具.玩客云如何连接电脑并通过电脑来访问玩客云空间,玩客云电脑直接访问,玩客云PC端拥有畅快下载.随存随取.文件管理.远程操控.多媒体娱乐 ...

  8. 云桌面是什么?云桌面如何运行的?

    提到云桌面相信不少朋友还比较陌生,其实这项服务已经发展了十数年了.早期,云桌面服务仅应用于企业,帮助IT工作者优化复杂的桌面管理工作,随着通信技术的发展,云桌面服务逐渐下沉到民用市场,不仅能为用户提供 ...

  9. 云南高性能云桌面搭建解决方案、云桌面与传统PC优势对比,云桌面适用场景分析

    一.传统PC面临的问题 1.难管理:个体复杂度带来的管理困难 企业内部PC分布广.数量多.型号杂,难以标准化及统一管理 软件应用.业务系统安装部署繁琐.业务上线效率低 无法集中管控,维护跟着物理机跑等 ...

最新文章

  1. Splunk组件和架构详解
  2. Swift3.0语言教程分割字符串与截取字符串
  3. java窗口课程_课程登记窗口java
  4. 显示非模式窗口和模式窗口
  5. 研究生开题报告需要注意的几点
  6. 将openstack的Token认证信息存储在memcache中
  7. PHP登录表单提交前端验证,form表单提交前先用ajax进行验证(前端)
  8. mysql 定一个函数_mysql自定义函数
  9. OpenCasCade网格的显示
  10. java程序 登录界面_用java写一个登陆界面代码。
  11. 我们应当怎样做需求分析
  12. 开源免费的录屏gif工具
  13. RPG游戏中造过的BUG
  14. 机器学习-LDA--景区评论分析 ipython
  15. 项目实战:动态系统的设计(类似朋友圈)
  16. 基于微信小程序评选投票系统 投票小程序毕业设计 毕业论文 开题报告和效果图
  17. u-boot中的usb命令
  18. [1150]Linux服务器上使用rz命令上传文件报:Segmentation Fault
  19. 广东金融2016年计算机类宿舍,广东寝室最好最差的10所大学!没有对比就没有伤害!...
  20. 好东西(Android开发人员不得不收集的代码)

热门文章

  1. 记忆的助记器|如何使用联想记忆法
  2. 设计要解决什么问题?
  3. 【树莓派】带你从0到1完成魔镜制作
  4. 计算机编程课程标准中职,浅谈中职学校课程标准的制定
  5. java SpringBoot+SpringCloud+mybatis b2b2c o2o电商平台 小程序商城 直播电商 直播带货 代跑腿 三级分销 短视频带货 电子商务 源码
  6. 百度手机输入法自定义码表
  7. 特朗普来给科大讯飞做推广?说好的5G高科技封锁清单呢?
  8. 绝对完全跨域统一单点登录登出
  9. 什么是国土空间规划的“双评价”?
  10. FunHouse-F10-MPro-1005G1-Hackintosh-Opencore 黑苹果efi引导文件