繁體簡(jiǎn)體

填補(bǔ)空白!統(tǒng)信軟件根社區(qū)deepin推出中國(guó)首款信創(chuàng)生態(tài)自研IDE

來(lái)源標(biāo)題:填補(bǔ)空白!統(tǒng)信軟件根社區(qū)deepin推出中國(guó)首款信創(chuàng)生態(tài)自研IDE

中國(guó)基礎(chǔ)軟件生態(tài)又有突破性進(jìn)展!

基礎(chǔ)軟件是構(gòu)建數(shù)字經(jīng)濟(jì)的底座,隨著我國(guó)數(shù)字經(jīng)濟(jì)步入深化應(yīng)用、規(guī)范發(fā)展、普惠共享的新階段,國(guó)產(chǎn)基礎(chǔ)軟件也步入了發(fā)展快車道,構(gòu)建起基于Linux的開源根社區(qū)+操作系統(tǒng)產(chǎn)業(yè)鏈。

image.png

在數(shù)字化轉(zhuǎn)型和信息技術(shù)應(yīng)用創(chuàng)新的雙輪驅(qū)動(dòng)下,軟件行業(yè)保持著高速增長(zhǎng)。據(jù)工業(yè)和信息化部8月28日發(fā)布數(shù)據(jù)顯示,1月至7月,我國(guó)軟件業(yè)務(wù)實(shí)現(xiàn)了同比13.6%的高增長(zhǎng)。

信創(chuàng)覆蓋的關(guān)鍵行業(yè)以及信創(chuàng)生態(tài)內(nèi)的科技公司均大力投入基于國(guó)產(chǎn)基礎(chǔ)軟硬件的技術(shù)及應(yīng)用研發(fā)。然而,軟件開發(fā)工具依然嚴(yán)重依賴國(guó)際開源及商用工具。

根據(jù)Stackoverflow 2023年調(diào)研顯示,微軟旗下集成開發(fā)環(huán)境Visual Studio Code(開源)和Visual Studio(商用)在其調(diào)研的全球8萬(wàn)余名專業(yè)開發(fā)者和學(xué)習(xí)者中保持著絕對(duì)領(lǐng)先優(yōu)勢(shì)。

有開發(fā)者表示,微軟在軟件市場(chǎng)之所以強(qiáng),一大原因就是,全世界的開發(fā)者都基于微軟的軟件工具研發(fā)軟件,開發(fā)結(jié)束后再把代碼貢獻(xiàn)到微軟收購(gòu)的Github代碼托管平臺(tái)。這意味著軟件開發(fā)的工具、標(biāo)準(zhǔn)、創(chuàng)意都在微軟生態(tài)上。

image.png

我國(guó)集成開發(fā)環(huán)境軟件包括個(gè)人開發(fā)的LiteIDE,也包括科技大廠如華為推出的CodeArts,及阿里推出的OpenSumi等。

而在桌面操作系統(tǒng)領(lǐng)域,我國(guó)也終于迎來(lái)新的突破!

近日,統(tǒng)信軟件運(yùn)營(yíng)的桌面操作系統(tǒng)根社區(qū)deepin發(fā)布了全球首款自主研發(fā)、面向信創(chuàng)生態(tài)的集成開發(fā)環(huán)境deepin-IDE,完成了從桌面操作系統(tǒng)根社區(qū)deepin、商業(yè)發(fā)行版UOS、到軟件開發(fā)工具的國(guó)產(chǎn)基礎(chǔ)軟件生態(tài)閉環(huán)。

除了解決卡脖子,自研IDE意味著什么?

長(zhǎng)期以來(lái),由于缺乏國(guó)產(chǎn)集成開發(fā)環(huán)境(IDE),眾多應(yīng)用軟件開發(fā)廠商不得不嚴(yán)重依賴國(guó)外的集成開發(fā)環(huán)境。全球范圍內(nèi)軟件開發(fā)工具的核心廠商主要包括Microsoft、JetBrains、Atlassian、Eclipse等,共占有市場(chǎng)份額約45%。

然而,無(wú)論是國(guó)際開源還是商用IDE,均沒(méi)有針對(duì)國(guó)產(chǎn)操作系統(tǒng)進(jìn)行專門優(yōu)化,客觀上加大了國(guó)產(chǎn)操作系統(tǒng)上應(yīng)用開發(fā)的難度。

image.png

首先,國(guó)產(chǎn)硬件平臺(tái)種類多、差異大、軟件適配工作量大的難題亟需解決。

國(guó)產(chǎn)CPU架構(gòu)多樣,包括飛騰、鯤鵬、龍芯、申威、海光、兆芯等平臺(tái)。架構(gòu)的多樣性導(dǎo)致各自軟件棧不統(tǒng)一,即使操作系統(tǒng)層面解決掉一部分架構(gòu)差異問(wèn)題,應(yīng)用還是要適配調(diào)試,給軟件開發(fā)帶來(lái)了沉重負(fù)擔(dān)。

集成開發(fā)環(huán)境是用于提供程序開發(fā)環(huán)境的應(yīng)用程序,一般包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面等工具。

集成開發(fā)環(huán)境研制涉及大量的核心技術(shù),包括多種語(yǔ)言的編譯器、解釋器、調(diào)試器,語(yǔ)義補(bǔ)全、代碼重構(gòu)、項(xiàng)目工程管理、代碼版本管理、大型圖形框架構(gòu)建,高效的進(jìn)程間通訊機(jī)制、多平臺(tái)支持等,是進(jìn)行各類軟件研發(fā)的必備基礎(chǔ)設(shè)施。

軟件開發(fā)各個(gè)環(huán)節(jié)的工具基本都被包括在內(nèi),同時(shí)包括在各個(gè)平臺(tái)都運(yùn)行良好的基本軟件庫(kù)。這些工具和軟件庫(kù)在各個(gè)國(guó)產(chǎn)硬件平臺(tái)上做到統(tǒng)一,可以大大降低跨硬件平臺(tái)開發(fā)的難度。

其次,國(guó)產(chǎn)軟件開發(fā)工具鏈能讓軟件全生命周期擺脫對(duì)國(guó)外軟件的依賴。

隨著信息技術(shù)應(yīng)用創(chuàng)新的深入,國(guó)產(chǎn)硬件和國(guó)產(chǎn)軟件已經(jīng)在很多領(lǐng)域可以替代國(guó)外同類軟件。

但是在軟件開發(fā)領(lǐng)域,仍然無(wú)法擺脫對(duì)國(guó)外的集成開發(fā)環(huán)境的依賴。

國(guó)外集成開發(fā)環(huán)境存在不支持國(guó)產(chǎn)軟硬件適配、調(diào)試性能差等諸多問(wèn)題,加大了國(guó)產(chǎn)操作系統(tǒng)上應(yīng)用開發(fā)的難度,阻礙了國(guó)產(chǎn)軟件發(fā)展。

隨著信創(chuàng)市場(chǎng)的快速發(fā)展,應(yīng)用生態(tài)需求的急劇增大,以及集成開發(fā)環(huán)境的重要地位,市場(chǎng)迫切需要一款自主可控的集成開發(fā)環(huán)境,以適應(yīng)國(guó)產(chǎn)化軟硬件系統(tǒng)的特點(diǎn)。

這樣,才能從根本上實(shí)現(xiàn)一次開發(fā)多架構(gòu)編譯部署,簡(jiǎn)化應(yīng)用開發(fā)過(guò)程,統(tǒng)一國(guó)內(nèi)軟件開發(fā)方式和開發(fā)庫(kù),提高國(guó)產(chǎn)軟件質(zhì)量和互操作性,降低軟件開發(fā)成本,最終打破國(guó)外在集成開發(fā)環(huán)境領(lǐng)域的壟斷,解決“卡脖子”問(wèn)題。

專注自研,打造國(guó)產(chǎn)平臺(tái)生產(chǎn)力工具

由deepin推出的deepin-IDE,傳承了“專注自研,貢獻(xiàn)開源”的技術(shù)基因,相關(guān)技術(shù)發(fā)明專利6篇。

deepin-IDE通過(guò)對(duì)國(guó)產(chǎn)硬件架構(gòu)和國(guó)產(chǎn)操作系統(tǒng)特點(diǎn)深度優(yōu)化和定制,簡(jiǎn)化國(guó)產(chǎn)平臺(tái)應(yīng)用開發(fā)成本,可實(shí)現(xiàn)在國(guó)產(chǎn)平臺(tái)上一次開發(fā)多架構(gòu)編譯部署。

deepin-IDE除了包含IDE常用功能,如智能編輯器、高度可擴(kuò)展的命令系統(tǒng)、工程管理、代碼版本管理集成、構(gòu)建管理系統(tǒng)、插件系統(tǒng)等之外,還支持代碼遷移、語(yǔ)義補(bǔ)全、語(yǔ)法高亮、重構(gòu)支持、反向調(diào)試、低開銷的實(shí)時(shí)性能分析工具等特色功能。

image.png

圖1 IDE進(jìn)入編輯模式效果圖

目前,該平臺(tái)支持C++、C、java、python、java script五大類 最常用編輯語(yǔ)言;內(nèi)置語(yǔ)言服務(wù)器協(xié)議(LSP)、調(diào)試適配器協(xié)議(DAP);支持主流版本控制系統(tǒng)git、svn;支持常用構(gòu)建工具cmake、maven、ninja、gradle 等。

deepin-IDE采用了模塊化的方式對(duì)軟件系統(tǒng)進(jìn)行模塊化劃分,實(shí)現(xiàn)各個(gè)軟件功能的逐層分解和解耦合,便于軟件系統(tǒng)的開發(fā)和集成。

模塊化設(shè)計(jì)一方面可以縮短產(chǎn)品研發(fā)與制造周期,增加產(chǎn)品系列,提高產(chǎn)品質(zhì)量,快速應(yīng)對(duì)市場(chǎng)變化;另一方面,也可以減少或消除對(duì)環(huán)境的不利影響,方便重用、升級(jí)、維修和獨(dú)立卸載。

具體來(lái)看,deepin-IDE特色功能主要包含:

低開銷的實(shí)時(shí)性能分析工具

性能分析功能不足,導(dǎo)致程序優(yōu)化難度大大增加,無(wú)法明確優(yōu)化指向。

針對(duì)目前國(guó)產(chǎn)環(huán)境中程序運(yùn)行效率普遍偏低的問(wèn)題,需要開發(fā)新的性能分析方法,用來(lái)對(duì)程序運(yùn)行性能進(jìn)行分析,達(dá)到為用戶查找性能瓶頸提供整體全面的統(tǒng)計(jì)分析數(shù)據(jù)的目的,提高其定位性能瓶頸的效率,最終提高集成開發(fā)環(huán)境的運(yùn)行性能。

反向調(diào)試

反向調(diào)試系統(tǒng)通過(guò)進(jìn)程執(zhí)行歷史回放、事件分類管理、時(shí)間軸管理等手段,進(jìn)一步提升應(yīng)用的調(diào)試效率和開發(fā)能力。反向調(diào)試分系統(tǒng)分析程序資源消耗,分析處理器的性能指標(biāo),檢測(cè)運(yùn)行程序的周期性性能參數(shù),為優(yōu)化程序的整體結(jié)構(gòu)提供參考,打造更為優(yōu)質(zhì)的程序提供幫助。也是體現(xiàn)集成開發(fā)環(huán)境對(duì)于代碼質(zhì)量的檢測(cè)體現(xiàn),減少平臺(tái)的整體資源消耗,找出系統(tǒng)性能瓶頸。

image.png

圖2 反向調(diào)試模式效果圖

領(lǐng)域開發(fā)支撐

領(lǐng)域開發(fā)庫(kù)提供多種面向國(guó)產(chǎn)多架構(gòu)、多操作系統(tǒng)平臺(tái)優(yōu)化的底層庫(kù)和集成控件,使用這些底層開發(fā)庫(kù)和集成控件,用戶可以快速開發(fā)和部署面向國(guó)產(chǎn)多架構(gòu)、多操作系統(tǒng)的應(yīng)用軟件。

多架構(gòu)編譯系統(tǒng)整合

支持多架構(gòu)國(guó)產(chǎn)平臺(tái)上的集編碼、編譯、調(diào)試一體,以實(shí)現(xiàn)一次開發(fā)多架構(gòu)編譯部署。

深入場(chǎng)景,構(gòu)建開發(fā)者友好的自主生態(tài)

基于對(duì)軟件開發(fā)痛點(diǎn)的深入理解,deepin-IDE形成了完備的技術(shù)方案和實(shí)施路線,滿足基礎(chǔ)開發(fā)同時(shí),更有諸多個(gè)性化亮點(diǎn):

編輯器支持多種開發(fā)源,支持C、C++、Python、Java等多種常用開發(fā)語(yǔ)言的語(yǔ)法高亮、自動(dòng)補(bǔ)全、跳轉(zhuǎn)到函數(shù)、重命名等常用功能。

運(yùn)行時(shí)子系統(tǒng)為語(yǔ)言編程開發(fā)提供運(yùn)行支撐。調(diào)用操作系統(tǒng)內(nèi)置的高級(jí)語(yǔ)言解釋器和高級(jí)語(yǔ)言虛擬機(jī),完成對(duì)代碼的調(diào)試、運(yùn)行等工作。

集成對(duì)開源系統(tǒng)工具的使用能力,讓開發(fā)者在集成開發(fā)環(huán)境中可以方便地使用CPU 分析工具、內(nèi)存分析工具、磁盤分析工具、網(wǎng)絡(luò)分析工具等,提高開發(fā)效率。

用戶行為分析可以用來(lái)統(tǒng)一代碼規(guī)范,檢測(cè)代碼風(fēng)格。根據(jù)開發(fā)者提交的代碼文檔,統(tǒng)計(jì)其代碼格式、注釋規(guī)約、命名規(guī)則的行為檢測(cè),為代碼檢查的統(tǒng)一規(guī)格提供參考約束。

用戶協(xié)同開發(fā)子系統(tǒng)是集代碼開發(fā)、插件開發(fā)、源碼管理、項(xiàng)目構(gòu)建及在線發(fā)布于一體的行業(yè)產(chǎn)品研發(fā)及項(xiàng)目交付平臺(tái)系統(tǒng)。在此子系統(tǒng)中可以管理項(xiàng)目團(tuán)隊(duì),可以不受時(shí)間與地點(diǎn)的影響,進(jìn)行實(shí)施人員與開發(fā)人員的協(xié)作,可以安全可靠的進(jìn)行外包項(xiàng)目管理。

代碼遷移分析子系統(tǒng)是deepin-IDE的一大亮點(diǎn),可以輔助開發(fā)者將x86平臺(tái)的Linux應(yīng)用遷移到龍芯、申威、飛騰等國(guó)產(chǎn)處理器架構(gòu),及統(tǒng)信UOS等國(guó)產(chǎn)操作系統(tǒng)上,使用該功能可以自動(dòng)分析出需修改的代碼內(nèi)容,并給出代碼遷移指導(dǎo),降低遷移難度,提升遷移效率。

image.png

圖3 代碼遷移工具界面

此外,其強(qiáng)大的可擴(kuò)展性為開發(fā)者提供了個(gè)性化、可定制的空間。針對(duì)近年來(lái)興起的生成式AI代碼編輯,deepin-IDE提供了插件接口;國(guó)際化方面,目前支持中英文,同時(shí)可擴(kuò)展多語(yǔ)言支持。

deepin-IDE團(tuán)隊(duì)研發(fā)負(fù)責(zé)人表示,deepin-IDE旨在打造一款完全自主可控的集成開發(fā)環(huán)境,針對(duì)國(guó)產(chǎn)硬件架構(gòu)和操作系統(tǒng)特點(diǎn)進(jìn)行深度優(yōu)化和定制,降低相應(yīng)平臺(tái)上應(yīng)用開發(fā)的成本,推進(jìn)國(guó)產(chǎn)集成開發(fā)環(huán)境發(fā)展與標(biāo)準(zhǔn)化,進(jìn)而促進(jìn)國(guó)產(chǎn)軟件生態(tài)的發(fā)展。同時(shí),deepin-IDE也根植于開源社區(qū),它依賴于scintilla等開源組件,本身也使用了GPLv3協(xié)議開源。它的開發(fā)歷史并不長(zhǎng),因此還只能算是IDE的幼苗。但麻雀雖小,五臟俱全,它不僅有IDE的基本功能,也有上面提到的創(chuàng)新功能。和其它的基礎(chǔ)軟件一樣,IDE也需要多年的打造與完善,比如VSCode至今也發(fā)展了八年,所以開發(fā)IDE確實(shí)難度巨大,路雖遠(yuǎn),行則將至。事雖難,做則必成。我們也歡迎全球開源愛(ài)好者參與進(jìn)來(lái),幫助它繼續(xù)成長(zhǎng)!

來(lái)源:千龍網(wǎng)


責(zé)任編輯:侯哲
熱門評(píng)論
互聯(lián)網(wǎng)新聞信息服務(wù)許可證10120170072
京公網(wǎng)安備 11010502045281號(hào)
違法和不良信息舉報(bào)電話:010-65669841
舉報(bào)郵箱:xxjb@huaxia.com

網(wǎng)站簡(jiǎn)介 / 廣告服務(wù) / 聯(lián)系我們

主辦:華夏經(jīng)緯信息科技有限公司   版權(quán)所有 華夏經(jīng)緯網(wǎng)

Copyright 2001-2024 By m.612g.cn