编者按:目前我们所使用的IDE基本都是由国外巨头提供,比如VisualStudio、Eclipse、JetBrains,但IDE是软件开发生态的入口,是软件开发的技术根基,所以作为有断供风险的根技术之一,IDE跟操作系统、芯片、编程语言一样非常重要。另外,随着越来越多的软件开始采用云上开发模式,使用国外的开发环境,开发者团队和个人也面临着无法确认的保密性、完整性等问题。因此,IDE自主可控的未来发展其实是一件十分值得重视的事情。
但比起其他领域,IDE开发需要较高的能力和大量的编程经验,国内从事IDE开发的技术专家不算多,而本文作者恰恰在云和软件开发工具领域从业多年、经验丰富。在这篇文章中,他从产品形态、内核技术、商业价值和产业机会角度,基于目前IDE领域的发展,展望了IDE的未来,并引出了下一代IDE在技术、产品和生态构建方面的投入方向。无论是从观点洞察角度还是经验传承方面来说,本文都对整个中国软件产业有重大参考价值。
华为的自研IDE之路
我所在的部门“华为云PaaS服务产品部”在软件开发工具领域肩负着两大使命:一是为华为内部各产业开发者提供软件开发工具,提升开发效率;二是以华为云为承载平台,将华为内部优秀的软件工程工具和研发实践服务于广大外部开发者。
纵观华为公司的IDE发展历程,大致经历了三个阶段:插件开发,自研内核,商业化探索。
华为从90年代起开始投入通信产品的研发,有着丰厚的嵌入式软件开发底蕴。华为嵌入式软件开发有几个显著特点:代码量巨大,可达千万行级别;运行环境强依赖特定平台,调试验证困难;过程质量要求高,有集成各IT系统诉求,以满足研发流程要求。彼时华为仍是一家以通信产品作为主要方向的设备厂商,对IDE领域并未过多投入,加之市场上已有一些成熟的商业和开源软件,能基本满足华为软件研发需求,此阶段IDE策略主要是基于以采购商业软件和使用开源软件为主。同时,由于公司对研发过程的质量要求高,大量研发流程需要在IDE中承载,这就对IDE提出了定制扩展的诉求。因此,各产品团队结合自身业务特点,开发了多款IDE插件。
时间来到了年5月,由于众所周知的原因,华为内部研发工具需要进行大面积的自研,以保障研发作业的安全性。面对巨大的生存风险,我们做出了艰难但正确的战略决策:自研IDE内核。随后,我们联合各个产品线基于统一底座+插件生态+语言支持的框架,建设公司的IDE解决方案。IDE是一个复杂的软件系统,要实现所有组件的完全自研不现实也没必要,我们只需要找到最硬的那几根“骨头”把它们啃下来。到年底,我们基本实现了内部嵌入式软件开发领域C/C++IDE工具的自研替换,部分能力甚至实现了对原有商业工具的超越。
解决自身生存问题的同时,我们也在积极地进行商业化探索。华为云软件开发生产线CodeArts就是华为软件研发能力外溢的第一次成功尝试。经过多年持续研发投入,CodeArts从最初的云上软件开发平台DevCloud成长为覆盖软件开发全生命周期的生产线,并一跃成为中国DevOps平台市场领导者。而本文的重点“CodeArtsIDE系列产品”(