基础软件是构建数字化的经济的底座,随着我们国家数字化的经济步入深化应用、规范发展、普惠共享的新阶段,国产基础软件也步入了发展快车道,构建起基于Linux的开源根社区+操作系统产业链。
在数字化转型和信息技术应用创新的双轮驱动下,软件行业保持着快速地增长。据工业与信息化部8月28日发布多个方面数据显示,1月至7月,我国软件业务实现了同比13.6%的高增长。
信创覆盖的关键行业及信创生态内的科技公司均大力投入基于国产基础软硬件的技术及应用研发。然而,软件开发工具依然严重依赖国际开源及商用工具。
有开发者表示,微软在软件市场之所以强,一大原因是,全世界的开发者都基于微软的软件工具研发软件,开发结束后再把代码贡献到微软收购的Github代码托管平台。这在某种程度上预示着软件开发的工具、标准、创意都在微软生态上。
我国集成开发环境软件包括个人开发的LiteIDE,也包括科技大厂如华为推出的CodeArts,及阿里推出的OpenSumi等。
近日,统信软件运营的桌面操作系统根社区deepin发布了全球首款自主研发、面向信创生态的集成开发环境deepin-IDE,完成了从桌面操作系统根社区deepin、商业发行版UOS、到软件开发工具的国产基础软件生态闭环。
长期以来,由于缺乏国产集成开发环境(IDE),众多应用软件开发厂商不得不严重依赖国外的集成开发环境。全世界内软件开发工具的核心厂商最重要的包含Microsoft、JetBrains、Atlassian、Eclipse等,共占有市场占有率约45%。
然而,无论是国际开源还是商用IDE,均没有针对国产操作系统来进行专门优化,客观上加大了国产操作系统上应用开发的难度。
国产CPU架构多样,包括飞腾、鲲鹏、龙芯、申威、海光、兆芯等平台。架构的多样性导致各自软件栈不统一,即使操作系统层面解决掉一部分架构差异问题,应用还是要适配调试,给软件开发带来了沉重负担。
集成开发环境是用于提供程序开发环境的应用程序,一般来说包括代码编辑器、编译器、调试器和图形用户界面等工具。
集成开发环境研制涉及大量的核心技术,包括多种语言的编译器、解释器、调试器,语义补全、代码重构、项目工程管理、代码版本管理、大型图形框架构建,高效的进程间通讯机制、多平台支持等,是进行各类软件研发的必备基础设施。
软件开发所有的环节的工具基本都被包括在内,同时包括在各个平台都运行良好的基本软件库。这些工具和软件库在各个国产硬件平台上做到统一,可以大幅度降低跨硬件平台开发的难度。
随着信息技术应用创新的深入,国产硬件和国产软件已经在很多领域可以替代国外同类软件。
国外集成开发环境存在不支持国产软硬件适配、调试性能差等诸多问题,加大了国产操作系统上应用开发的难度,阻碍了国产软件发展。
随着信创市场的加快速度进行发展,应用生态需求的急剧增大,以及集成开发环境的主体地位,市场迫切地需要一款自主可控的集成开发环境,以适应国产化软硬件系统的特点。
这样,才能从根本上实现一次开发多架构编译部署,简化应用开发过程,统一国内软件开发方式和开发库,提高国产软件质量和互操作性,降低软件开发成本,最终打破国外在集成开发环境领域的垄断,解决“卡脖子”问题。
由deepin推出的deepin-IDE,传承了“专注自研,贡献开源”的技术基因,有关技术发明专利6篇。
deepin-IDE通过对国产硬件架构和国产操作系统特点深度优化和定制,简化国产平台应用开发成本,可实现在国产平台上一次开发多架构编译部署。
deepin-IDE除了包含IDE常用功能,如智能编辑器、高度可扩展的命令系统、工程管理、代码版本管理集成、构建管理系统、插件系统等之外,还支持代码迁移、语义补全、语法高亮、重构支持、反向调试、低开销的实时性能分析工具等特色功能。
目前,该平台支持C++、C、java、python、java script五大类 最常用编辑语言;内置语言服务器协议(LSP)、调试适配器协议(DAP);支持主流版本控制管理系统git、svn;支持常用构建工具cmake、maven、ninja、gradle 等。
deepin-IDE采用了模块化的方式对软件系统来进行模块化划分,实现各个软件功能的逐层分解和解耦合,便于软件系统的开发和集成。
模块化设计一方面能够缩短产品研制与制造周期,增加产品系列,提升产品质量,快速应对市场变化;另一方面,也能够大大减少或消除对环境的不利影响,方便重用、升级、维修和独立卸载。
针对目前国产环境中程序运行效率普遍偏低的问题,需要开发新的性能分析方法,用来对程序运行性能做多元化的分析,达到为用户查找性能瓶颈提供整体全面的统计分析数据的目的,提高其定位性能瓶颈的效率,最终提高集成开发环境的运行性能。
反向调试系统通过进程执行历史回放、事件分类管理、时间轴管理等手段,逐步提升应用的调试效率和开发能力。反向调试分系统分析程序资源消耗,分析处理器的性能指标,检测运行程序的周期性性能参数,为优化程序的整体结构提供参考,打造更为优质的程序提供帮助。也是体现集成开发环境对于代码质量的检测体现,减少平台的整体资源消耗,找出系统性能瓶颈。
领域开发库提供多种面向国产多架构、多操作系统平台优化的底层库和集成控件,使用这一些底层开发库和集成控件,用户都能够快速开发和部署面向国产多架构、多操作系统的应用软件。
支持多架构国产平台上的集编码、编译、调试一体,以实现一次开发多架构编译部署。
基于对软件开发痛点的深入理解,deepin-IDE形成了完备的技术方案和实施路线,满足基础开发同时,更有诸多个性化亮点:
编辑器支持多种开发源,支持C、C++、Python、Java等多种常用开发语言的语法高亮、自动补全、跳转到函数、重命名等常用功能。
运行时子系统为语言编程开发提供运行支撑。调用操作系统内置的高级语言解释器和高级语言虚拟机,完成对代码的调试、运行等工作。
集成对开源系统工具的使用能力,让开发者在集成开发环境中可以方便地使用CPU 分析工具、内存分析工具、磁盘分析工具、网络分析工具等,提高开发效率。
用户行为分析可拿来统一代码规范,检测代码风格。根据开发者提交的代码文档,统计其代码格式、注释规约、命名规则的行为检测,为代码检查的统一规格提供参考约束。
用户协同开发子系统是集代码开发、插件开发、源码管理、项目构建及在线发布于一体的行业产品研制及项目交付平台系统。在此子系统中可以管理项目团队,可以不受时间与地点的影响,进行实施人员与研发人员的协作,可以安全可靠的进行外包项目管理。
代码迁移分析子系统是deepin-IDE的一大亮点,可以辅助开发者将x86平台的Linux应用迁移到龙芯、申威、飞腾等国产处理器架构,及统信UOS等国产操作系统上,使用该功能能自动分析出需修改的代码内容,并给出代码迁移指导,降低迁移难度,提升迁移效率。
此外,其强大的可扩展性为开发者提供了个性化、可定制的空间。针对近年来兴起的生成式AI代码编辑,deepin-IDE提供了插件接口;国际化方面,目前支持中英文,同时可扩展多语言支持。
deepin-IDE团队研发负责这个的人说,deepin-IDE旨在打造一款完全自主可控的集成开发环境,针对国产硬件架构和操作系统特点进行深度优化和定制,降低相应平台上应用开发的成本,推进国产集成开发环境发展与标准化,进而促进国产软件生态的发展。同时,deepin-IDE也根植于开源社区,它依赖于scintilla等开源组件,本身也使用了GPLv3协议开源。它的开发历史并不长,因此还只能算是IDE的幼苗。但麻雀虽小,五脏俱全,它不仅有IDE的基本功能,也有上面提到的创新功能。和其它的基础软件一样,IDE也需要多年的打造与完善,比如VSCode至今也发展了八年,所以开发IDE确实难度巨大,路虽远,行则将至。事虽难,做则必成。我们也欢迎全球开源爱好者参与进来,帮助它继续成长!