不久前,号称“自主研发”的集成开发环境工具CEC-IDE被多方质疑造假,最终以官方出面致歉作结。这一事件虽然已经告一段落,但最近关于国产IDE的讨论也有所上升。日前,又一款宣称“纯自研”的国产IDE亮相了——桌面操作系统根社区deepin正式官宣deepin-IDE。这款由深度公司研发的轻量级集成开发环境表现到底如何?我们接下来一探究竟!
deepin-IDE研发团队专门在deepin社区发文介绍了deepin-IDE。据官方介绍,deepin-IDE除了包含IDE常用功能,如智能编辑器、高度可扩展的命令系统、工程管理、构建管理系统、插件系统等之外,还支持多种兼容协议、多种开发语言、代码版本管理集成、低开销的实时性能分析工具等。从上表可以看到,deepin-IDE支持C++、C、java、python、java script五大类常用编辑语言,支持常用构建工具CMake、Maven、Ninja、Gradle等。此外,在满足基础开发需求的同时,deepin-IDE也不乏一些个性化功能,比如:反向调试:该功能通过进程执行历史回放、事件分类管理、时间轴管理等手段,进一步提升应用的调试效率和开发能力。代码迁移:代码迁移分析子系统是deepin-IDE的一大亮点,可以辅助开发者将x86平台的Linux应用迁移到龙芯、飞腾等国产处理器架构,及统信UOS等国产操作系统上,使用该功能可以自动分析出需修改的代码内容,并给出代码迁移指导,降低迁移难度,提升迁移效率。当然,deepin-IDE还存在一些已知问题待解决,例如“文件描述符占用过多导致崩溃”“底部交互区暂不支持多页面”“符号树解析精度不高”等,还有肉眼可见的界面设计问题,因为没有设计人员参与,所以整个界面由研发人员“原生”设计,非常“天(朴)然(素)去(有)雕(点)饰(丑)”。就像deepin-IDE研发团队提到的,“IDE本身是一个非常宏大的话题”,相较其他成熟的IDE,尚处于起步阶段的deepin-IDE仍有许多需要完善的地方。但麻雀虽小,五脏俱全,整体来看,deepin-IDE已经具备了IDE的基本功能,也在创新功能上有所建设,不过和其他基础软件一样,仍需要时间的打磨和实践的历练。
开源之下,为何还要做自研IDE?
关于是否要自研IDE,其实早期就有争论。有人说,国产化很重要,但是也不必苛求所有东西都国产化。毕竟在开发工具层面,有那么多开源的成熟的IDE可以选择。不必为了追求自研而自研,以致于有些项目沦为赚取经费、骗取掌声的工具。
但也有人认为,在大国博弈加剧和地缘冲突激烈的推动下,开源软件也难以保存其“开放的净土”。Github对部分地区的开发者进行限制早有先例。况且退一步讲,有的科技巨头通过开源实现的其实是一种更高形式的垄断。虽然开源规避了重复造轮子的麻烦,但使用开源代码,实际上就是默认了开源方的技术标准。而一旦这种标准被广泛接受,生态成型,如果你不遵循这一标准,那么众多兼容问题就会随之而来。谷歌借由“开源”的安卓反而“垄断”了市场就是典中典。所以从这一点来说,自主研发IDE有其必要性。站在deepin的角度,deepin-IDE研发团队也给出了他们选择自研的理由。“从操作系统角度来说,要构建繁荣的生态环境,需要丰富和完善的基软件体系。开发库、封包格式、开发工具以及开发者支持,是逐步完善发展的过程。”在这一渐进过程中,deepin在开发库和封包格式上已经有了自己的积累和突破,但是在开发工具这一环,却没有自研的IDE工具。而在生态建设中,自研IDE是关键一环,也是开发者生态的集大成者。首先,自研IDE可以提供DTK、各种二开接口的开发支持,开发者可以基于开发库开发出对应业务功能的应用;其次,为了匹配自研软件包格式“玲珑”,自研IDE可以默认提供“玲珑”打包格式,一次打包即可覆盖全Linux生态环境;最后,为了便于开发者交流,增强社区活性,自研IDE可以集成开发者平台,使开发者汇聚在一起交流开发经验。不过,研发团队也承认,虽然deepin-IDE“传承了deepin‘专注自研,贡献开源’的技术基因,自研代码14万余行”,但同样“是站在了‘开源’这个巨人的肩膀上,为了避免重复造轮子,采用了一些开源终端组件、功能组件”。但若是被问及“deepin-IDE和VSCode有关联吗?”,deepin-IDE研发团队还是有底气回答的:“没有关联!deepin-IDE就是纯纯的自研!”根据Stack Overflow发布的2023开发者调查报告,VS Code仍然是所有开发人员的首选IDE,今年它在所有开发人员中的使用率从75%增加到81%,紧随其后的是Visual Studio和IntelliJ IDEA。
当前,我国软件开发工具整体上依然严重依赖国际开源及商用工具,然而国外的集成开发环境并没有针对国产操作系统的优化,客观上加大了在国产操作系统上进行应用开发的难度。因此,IDE国产化进程的迟滞一度也曾引起关注。每每有一款“自研”IDE的问世,就能引来一波热度,也从侧面印证了开发一款自研IDE的不易。那么,为什么很难出现一款被广为认同的优质国产IDE呢?首先,先天基础薄弱。我国计算机技术和互联网行业起步较晚,在基础软件领域,国外科技巨头已经占据垄断地位。在失去先发优势的土壤上,国内企业要求存发展,更多是倾向于“重应用,轻基础研发”。因为基础软件研发需要长期投入,后续收益无保障的情况下显然不符合商业目的。IDE工具更是如此。再者,技术实现难度高。IDE的核心价值在于让开发人员快速着手为新应用编写代码,提升开发体验和效率。因此,IDE需将各种功能组件集中于同一工作台中,它并非一个单纯的软件,而是一个复杂的系统。更重要的是,集成开发环境并非各功能组件的堆砌,还要考虑集成整合后的组织与调度。VS Code发展至今也历时八年,由此可见,开发IDE确实难度巨大。还有,商业化困境。对于像IDE这样的大工程,纯纯“为爱发电”显然不合实际。而IDE的商业化之路挑战重重,前有免费的开源软件,后有微软、Jetbrains等老牌龙头厂商,这对于长周期、高投入的新生IDE项目来说很难有成长土壤。要自主研发IDE,除了自主可控这一点好处外,无法从市场竞争中获利也是其没有发展源动力的关键问题。
不过,近几年情况已经有所好转。
一方面,国外集成开发环境存在不支持国产软硬件适配、调试性能差等诸多问题,随着信创市场的深入发展,应用生态需求的上升,市场对于自主可控的IDE工具的需求也会随着增大。另一方面,从公共动态来看,国内互联网公司在产业链的位置的确正在上移。大厂们从以前的做应用,逐渐开始做框架,做数据库底层开发等等,都释放出了一个信号:转型势在必行。路虽远,行则将至。事虽难,做则必成。在充斥着不确定性的大环境下,积极寻求可控的替代解决方案,构建国产IDE产品能力,是一件必须做也需要坚持做的事情。参考链接:
https://www.deepin.org/zh/2023-9-4/
https://www.zhihu.com/question/41106678
https://juejin.cn/post/7245143550126932024
撰稿:千山