前言
前段时间 国产 IDE 相关的话题被广泛讨论,特别是后续的事情大家都知道了。
那么为什么会对 国产 IDE 这么执着呢?
大致有如下原因:
国产硬件平台种类多、差异大、软件适配工作量大的难题亟需解决
国产 CPU 的多样性导致各自软件栈不统一,即使操作系统层面解决掉一部分架构差异问题,应用还是要适配调试,给软件开发带来了沉重负担
国产软件开发工具链能让软件全生命周期摆脱对国外软件的依赖
因为缺乏国产集成开发环境(IDE),很多应用软件开发厂商不得不重度依赖国外的集成开发环境,例如 VSCode、Visual Studio 等,这意味着软件开发的工具、标准、创意都在国外生态上,这也导致其市场份额占比变高
自研 IDE 是生态建设中非常重要的一环,也是开发者生态的集大成者,因此即便成熟的 IDE 已经有那么多,但是我们仍需要一个 国产 IDE。
而 deepin 发布了全球首款 自主研发、面向信创生态的集成开发环境 deepin-IDE,完成了从桌面操作系统根社区 deepin、商业发行版 UOS、到软件开发工具的国产基础软件生态闭环。
deepin-IDE 和 VS Code 有没有关联?
有前车之鉴,必然要先问一句:跟 VS Code 有没有关联?
deepin-IDE 是站在了巨人的肩膀上 — “开源社区”,为了避免重复造轮子,采用了一些开源终端组件、功能组件,并 自研代码14万余行。
以下是其使用的 开源成果:
代码公开仓库地址:
GitHub: https://github.com/linuxdeepin/deepin-unioncode
Gitee: https://gitee.com/deepin-community/deepin-unioncode
https://github.com/linuxdeepin/deepin-unioncode/releases
deepin-IDE 根植于开源社区,它依赖于 scintilla 等开源组件,本身也使用了 GPLv3 协议开源,当然也要贡献开源。
因此答案很明显 没有关联!deepin-IDE 就是纯纯的自研!
deepin-IDE 都有什么功能?
智能编辑器、高度可扩展的命令系统、工程管理、代码版本管理集成、构建管理系统、插件系统等都属于 IDE 常用功能,而 deepin-IDE 处理包含这些常用功能外,还支持 代码迁移、语义补全、语法高亮、重构支持、反向调试、低开销的实时性能分析工具 特色功能。
其目前其支持:
C++、C、java、python、javascript 五大类最常用编辑语言
内置语言服务器协议(LSP)、调试适配器协议(DAP)
支持主流版本控制系统 git、svn
支持常用构建工具 cmake、maven、ninja、gradle 等
版本管理
支持主流版本控制系统Git、SVN。
协议支持
语言支持
支持C++、C、java、python、javascript五大类常用编辑语言,支持常用构建工具CMake、Maven、Ninja、Gradle等。
低开销的实时性能分析工具
性能分析功能不足,导致程序优化难度大大增加,无法明确优化指向。
针对目前国产环境中程序运行效率普遍偏低的问题,需要开发新的性能分析方法,用来对程序运行性能进行分析,达到为用户查找性能瓶颈提供整体全面的统计分析数据的目的,提高其定位性能瓶颈的效率,最终提高集成开发环境的运行性能。
反向调试
反向调试系统通过进程执行历史回放、事件分类管理、时间轴管理等手段,进一步提升应用的调试效率和开发能力。
反向调试分系统分析程序资源消耗,分析处理器的性能指标,检测运行程序的周期性性能参数,为优化程序的整体结构提供参考,打造更为优质的程序提供帮助。
也是体现集成开发环境对于代码质量的检测体现,减少平台的整体资源消耗,找出系统性能瓶颈。
代码迁移
代码迁移分析子系统是deepin-IDE的一大亮点,可以辅助开发者将x86平台的Linux应用迁移到龙芯、飞腾等国产处理器架构,及统信UOS等国产操作系统上,使用该功能可以自动分析出需修改的代码内容,并给出代码迁移指导,降低迁移难度,提升迁移效率。
有什么产出?
deepin-IDE 已经在深度的部分应用上实现轻度使用,而这也是很重要的一步。
开发画板应用
深度画板应用(deepin-draw):https://github.com/linuxdeepin/deepin-draw
开发看图应用
深度看图应用(deepin-image-viewer):https://github.com/linuxdeepin/deepin-image-viewer
开发相册应用
深度相册应用(deepin-album):https://github.com/linuxdeepin/deepin-album
前路在何方?还需要做什么?
deepin-IDE 当前相比于其他成熟的 IDE 才刚起步,还有很多的地方需要完善:
请一个设计师
插件系统完善
低代码编程支持
支持软件包签名、上架应用商店
AI 功能的接入
DTK 等开发套件集成,文管、桌面、任务栏等插件模板接入
开发者平台接入
...
deepin-IDE 还存在一些 已知问题等待解决:
文件描述符占用过多导致崩溃
存在部分翻译缺失的问题
底部交互区暂不支持多页面
符号树解析精度不高
...
最后
正如大多数人所说的 deepin-IDE 使用开源代码一点问题都没有,因为开源的初衷就是共建共享,而且其本身也已经做了说明,这一点和那些打着 “自主研发” 但与实际迥然不同的 IDE 是完全不一样的。
我们支持自主研发、也希望国产 IDE 能够越来越好,同时期望 deepin-IDE 能够做得更好!
领取专属 10元无门槛券
私享最新 技术干货