摘要:华为云CodeArts IDE Online服务,提供了可随时随地编码的云上开发环境,同时具备开放的生态和独立插件市场,旨在为开发者提供环境快速获取、功能开箱即用、跨越计算架构、随时随地访问、横向可扩展和支持第三方集成等能力,打造数字时代的开发利器。
本文分享自华为云社区《随时编码即刻创新,华为云发布CodeArts IDE Online服务》,作者: 华为云头条 。
进入二十一世纪20年代,“软件吞噬世界”已经成为现实,新计算、5G、人工智能、DevOps、云原生、应用现代化等众多新概念扑面而来,人类的生产、生活、科研、学习等活动几乎都会和软件产生关联。
软件开发是把人类智慧以代码方式表达出来的过程,面对不可预知且快速变化的世界,开发者面临着前所未有的巨大挑战。例如,软件交付周期和迭代速度要求更高、开发者需要快速学习各种新技术、开发时间碎片化严重、分散的交付团队协同困难、开发与运行环境计算架构不一致将带来交叉编译风险等等。
软件的生产力往往由开发者和开发工具共同决定,开发工具对效率的影响不可忽视。“工欲善其事,必先利其器”,面对新时代的重重挑战,开发者在不断提升自身技能的同时,也对手中的开发工具产生了新的思考和诉求。
2月16日,华为云发布CodeArts IDE Online服务,提供了可随时随地编码的云上开发环境,同时具备开放的生态和独立插件市场,旨在为开发者提供环境快速获取、功能开箱即用、跨越计算架构、随时随地访问、横向可扩展和支持第三方集成等能力,打造数字时代的开发利器。
开发工具的四条“秘籍”
华为公司自上世纪90年代起即投入软件研发,历经嵌入式软件开发、企业化软件开发、服务化应用开发和云服务开发等多种不同研发形态。
为支持研发效率提升、保证供应链安全,研发团队使用的开发工具从文本编辑器,到图形化的开发工具,再到支持多语言和可扩展的集成开发环境(IDE),逐步进化成支持新语言框架、集成开发者作业流和支持横向能力扩展的桌面IDE和WebIDE,满足了多业务平台的复杂开发要求。在这个过程中,华为总结出开发工具的四条“秘籍”:
▶掌握技术内核,探索新的工具形态满足业务需要
面对嵌入式开发领域中多版本分支、多硬件类别和多外部依赖等问题,为帮助开发者提升环境准备效率,华为在深入研究IDE技术内核的基础上,结合云计算的容器技术,推出了内部使用的WebIDE业务形态。
新的业务形态支持开发者快速申请和获取复杂的开发环境,无需配置即可开展工作,将环境准备时间从天级缩短到分钟级。
▶将智能化全面融入编码、浏览、调试、搜索等开发各环节,以提升开发者效率和能力
以代码补全为例,通常有两个技术方向:其一为“AI配对程序员”,开发者用自然语言注释描述,AI自动生成代码;另一个是短符号的“Tab Complete”代码生成。
短期看来,类似AI配对程序员的技术重点是编程辅助,不会进入主作业流程。而短符号代码生成的“Tab-Complete-Done”体验,即在短前缀或无前缀条件下,利用轻量级AI模型对不同场景进行补全结果排序,再由开发者多次敲击Tab键连续完成短符号的代码生成,会让开发者拥有“一切尽在掌握”的感觉,这也成为华为智能化开发的研究重点。
▶积极发展生态,以扩展能力方式支持开发作业流
华为设立了与业界最大规模插件生态市场相兼容的插件标准,基于开发者作业流交付大量在IDE中使用的业务插件;同时成立了辅导团队开发者的官方组织,建立了内置于IDE内的独立插件市场。
这些举措能够帮助开发者在一个IDE工具内即可流畅完成开发者作业流,补齐组织内开发人员技能差异,提升开发者研发效率。
▶支持远程分布式办公,让效率与安全兼得
为应对分布式开发团队普遍存在的协同和远程办公问题,华为流程IT和工具团队联合推出“在线安全开发”解决方案。
基于安全网络通道、安全数据保护和异常环境检测机制,开发者可以在家庭或外部网络条件下接入,在保证开发体验的前提下,实现核心数据和研发信息保护。该能力有效支撑了华为数万开发者的研发需要,让效率与安全兼得。
让开发者随时编码即刻创新
华为云CodeArts IDE Online服务融合了华为在软件开发领域的丰富经验以及在开发工具上的能力积累:
- 支持开发者基于浏览器快速获取环境;
- 对开发者界面进行全新升级,支持不同配色切换和中英文显示;
- 支持独立的插件市场和更具兼容性的插件标准;
- 提供更多开放API,支持第三方业务集成并融入开发者作业流。
面对当前云原生和应用现代化的开发需要,华为云CodeArts IDE Online服务提供了以下新特性:
▶特性一:10秒快速申请,让开发环境开箱即用
支持开发者在10秒内快速申请获得开发环境,启动速度相比上一版本提升2倍,环境准备省时省力。开发环境功能齐备,包含开发者日常使用的编码、调试、运行、测试等功能,同时预置Java、Python、C/C++,JavaScript、Go等主流开发语言支持,并可自行扩展。
▶特性二:突破操作系统和计算架构的限制,让开发随心所欲
支持开发者申请不同计算架构(ARM和x86)的开发环境,并可通过运行于不同设备或操作系统上的浏览器访问。且支持一个开发者同时申请多个开发环境,互相不受影响,所提供的云上开发环境算力规格可以远超个人电脑。
▶特性三:开发桌面自定义,满足开发者个性化需要
支持开发者自定义开发桌面,支持不同配色风格和中英文语言显示。基于内置的插件市场,开发者可以方便的搜索浏览、自动或手工安装插件,实现能力横向扩展,还可按照个人喜好自定义插件位置和界面风格。
▶特性四:支持“被集成”,规范开发作业流
提供开放API接口,支持以云服务方式被第三方业务集成并融入开发作业流,满足各类企业的不同开发场景。可根据参数定义,设置环境启动后的技术栈、语言支持、环境变量、插件加载和代码分支,为企业贯彻和执行研发规范提供有效的技术手段。
▶特性五:提供插件市场,促进开发者生态繁荣
兼容业界最广泛采用的插件标准,提供独立的插件市场,让开发者既可以享有海量的业界插件,又能实现独立自主的插件安全。独立插件市场支持开发者注册发布商,提供了支持插件开发所需的开放标准、开源框架、打包工具,并支持插件的全生命周期管理。
如今,华为云CodeArts IDE Online服务已经在华为公司广泛应用,服务多个业务线。例如,华为某产品线涉及大量嵌入式开发,面对复杂的产品形态和版本组合,开发者需要时刻应对开发环境准备缓慢、跨操作系统反复切换环境和代码下载耗时长等诸多问题,严重制约开发者交付效率。
基于CodeArts IDE Online提供的在线编程技术和优化的开发者作业流,交付团队将开发环境准备时间从天级缩短到分钟级,且环境就绪后可用性达100%;开发人员无需跨操作系统开发,降低交叉编译风险;代码根据版本需要预置分支或预加载,构建配置云化且支持一键执行,构建效率从10分钟优化到1分钟以内。
已有超过1万名华为内部开发人员据此完成海量版本迭代和需求开发,将个人开发作业流综合效率提升数倍。
为开发者提供端云一体、极致体验、功能强大、生态开放的IDE开发工具是华为云CodeArts产品团队的一贯理念。未来,华为云将在开发工具领域持续创新,提供功能更强、体验更好、内核自研的IDE工具,持续为开发者提供优质服务。