CloudIDE:为开发者写代码开启“加速”模式
摘要:华为云CloudIDE,以软件基础技术结合新时代业务场景,给开发者提供更高效、优质的开发体验,帮助开发者实现业务创新新动力,以硬核技术重塑云原生开发生产力。
本文分享自华为云社区《华为云CloudIDE,重塑云原生开发者生产力》,原文作者:灰灰哒 。
在科技飞速发展的今天,云计算,5G,人工智能等技术已深入生活的方方面面,借由智能设备接入云端的各类应用的使用,已经成为我们日常生活的习惯。为了适应快速出现的各类生产生活需要,开发者每日将大量需求交付到云端应用,云原生已经成为当前时代最主要的应用交付方式。云原生开发者的生产力水平,决定了云应用的价值提升可能性。
开发者工具的变革
从第一台科学计算机出现以来,人机交互的手段就一直在丰富和发展。通过最初的打孔纸卡,计算机可以“读懂”预置的程序逻辑,让计算机进入“可编程”年代;主机时代出现的文本编辑器,带来了更好的语言支持和编辑体验,输入快速、直观,可以更好的反映开发者的意图,结合独立编译器就可以大规模复杂软件开发;伴随桌面电脑出现,应用的数量、用途极大丰富,出现了将代码工程管理、代码编写、编译构建、运行调试等能力集成在一起的集成开发环境(IDE),开发者生产力得到极大提升,软件产业进入飞速发展时期;互联时代,新技术层出不穷,软件架构日新月异,开发者手中的IDE工具向着轻量化、可扩展、跨平台等方向演进,为创新型开发者提供新的舞台。
云时代,开发者面对的运行环境已经从本地发展到云端,应用从“On Cloud”模式发展到“In Cloud”模式,原生于云,成长于云,立足云端稳健发展。为了交付以云原生为基本形态的应用,开发者需要更容易的获取开发资源,更方便的进入云端设施,更快捷的连接云资源,更高效的实现价值输出和质量提升。在此背景下,华为云CloudIDE应运而生,它原生于华为云平台,充分利用华为在计算、网络、存储、安全、智能化方面的技术积累,有按需获取、开箱即用、功能强大、生态完备等特点。
华为云CloudIDE主要特点
首先,它是一种按需获取的开发工具,开发者通过智能设备访问华为云CloudIDE即可获取云端的开发环境,里面的编码、调试、运行、预览功能都是可以开箱即用的,不需要经过复杂的环境配置。
其次,它对各类高级语言具有良好的开发体验,对于与主流的编程语言如C/C++、Java、Python、NodeJS、GO、PHP等都原生支持,更多语言也可以通过安装插件方式来支持。对于当前新兴的各类编程框架,CloudIDE通过与华为与开发者工具DevStar对接,实现了应用框架和示例工程的复用,避免开发者从零开始。
第三,它可以轻松利用云端资源,IDE中使用的计算资源可以横跨鲲鹏和X86技术架构,可以轻松访问云端基础设施,可以使用内置能力将开发的应用一键式部署云端,快速验证能力。
第四,它可以极大提升开发者创新力。通过开放的插件集成机制、开源的插件开发框架、开放的API集成接口,配合华为开发者工具的各类代码工程模板,行业开发者可以快速实现经验和技术传承,应用开发者可以专注于自身业务逻辑和业务创新。
第五,它深度整合人工智能和云技术,通过智能化编码辅助来提升开发者在编码阶段的生产效率,尽可能的通过最少的键盘输入打成编码目标,通过云调试技术在多微服务的复杂环境下实现如单体软件调试一样的良好体验,快速定位问题。
新特性发布:智能化代码补全技术和微服务集群调测技术
在4月25日的2021 HDC Cloud的大会上,华为云发布了基于华为云CloudIDE的智能化编码工具和云原生调测工具,基于智能化代码补全技术(SmartAssist)和微服务集群调测技术(CloudDebugger)重塑编码和微服务调测生产力。
代码补全是软件开发工具最核心的能力之一,它能够在开发者输入几个字符的情况下,提示补全整个符号如方法调用、类型名、变量名、类字段、关键字等,在一些常见上下文下,代码补全甚至可以补全整行代码。当前代码补全已经发展为结合深度代码分析和深度学习模型的智能补全技术,结合本地代码分析模型和多个场景化模型,在充分理解当前上下文片段的基础上,基于语法和语义对所有可能结果进行决策和排序,对补全结果有较好的可解释性和可调节性。
华为云推出的基于增强的代码分析结合多种特定场景模型的SmartAssist智能补全技术,显著提升了以下三个方面的能力:
第一,提升多符号/长结果的补全准确率;
第二,对复杂上下文的非明显结果推荐,如生僻的第三方API;
第三,避免推荐过期/弃用/危险的API。而且,SmartAssist是运行于CloudIDE内的本地化技术,操作响应和稳定性非常好,可以极大提升开发者的编码效率和编码质量。
在多微服务场景下的调测体验和效率,是提升云原生开发者生产力的重要环节。当前微服务调测主要面临的问题包括:接口测试工作量巨大,微服务之间复杂的调用关系造成调测严重依赖Mock服务,测试不完备,多进程并发调试,传统调试手段不可行。开发者迫切希望在新场景中重现单体应用开发的便利:直观查看代码上下文,修改内存变量,测试语句执行,直观展示调用堆栈和有针对性的设置断点。
华为云基于独立调试适配服务、智能调试消息路由、远端代码热替换和基于命名管道的批量消息传输协议技术打造的CloudDebugger微服务调测技术,实现了云原生开发者梦寐以求的能力:
第一,如单体软件调测般便利;
第二,支持多人同时调测;
第三,多微服务、多版本同时调测;第四,断点、单步跟踪、变量查看一应俱全。
可以说,CloudDebugger是下一代云原生应用开发工具中最重要的效率助推器之一。
华为云CloudIDE支持海量场景
CloudIDE生于华为云的兴起,成长于云原生时代的到来。华为基于鲲鹏发展第二计算平面,基于昇腾打造科学计算新平台,这些云端算力平台的发展,以及当前大数据、IoT、智能化、量子计算、区块链等前沿技术的爆发式实用化增长,对开发者应对开发场景的能力提出了新要求。华为云CloudIDE服务以自身技术积累,利用华为多年沉淀的网络、云计算、存储、安全等技术,抓住时代发展新机遇,以优质体验服务广大开发者。
鲲鹏开发者可以在线一键式申请CloudIDE鲲鹏原生开发环境,通过内置插件实现鲲鹏组件移植和性能测试。AI开发者可以在CloudIDE内编写和调测训练模型,一键式连接华为云智能开发平台,实现端到端的模型开发、训练、上线操作。区块链开发者可以一键式拉起CloudIDE,通过内置模板开发区块链合约,并可发布到华为云区块链服务。微服务开发者可以基于已有模板创建微服务,编码、调测、运行、预览都可以在云上完成。云原生开发者可以基于CloudDebugger实现复杂多微服务环境下的调测,动态路由网络请求,断点查看变量和堆栈,热替换代码修改验证。华为云量子计算平台可以通过CloudIDE支持研究者开发、训练量子计算模型,而不需要自己准备海量计算资源。
华为云CloudIDE,以软件基础技术结合新时代业务场景,给开发者提供更高效、优质的开发体验,帮助开发者实现业务创新新动力,以硬核技术重塑云原生开发生产力。
戳我了解→ CloudIDE