撰稿丨千山
不久前,號稱“自主研發”的集成開發環境工具CEC-IDE被多方質疑造假,最終以官方出面致歉作結。這一事件雖然已經告一段落,但最近關于國產IDE的討論也有所上升。
日前,又一款宣稱“純自研”的國產IDE亮相了。桌面操作系統根社區deepin正式官宣deepin-IDE,這款由深度公司研發的輕量級集成開發環境表現到底如何?我們接下來一探究竟。
1、正式亮相:有點個性,有點丑
deepin-IDE研發團隊專門在deepin社區發文介紹了deepin-IDE。
圖片
據官方介紹,deepin-IDE除了包含IDE常用功能,如智能編輯器、高度可擴展的命令系統、工程管理、構建管理系統、插件系統等之外,還支持多種兼容協議、多種開發語言、代碼版本管理集成、低開銷的實時性能分析工具等。IDE常見功能總結如下表。
圖片
從上表可以看到,deepin-IDE支持C++、C、Java、Python、JavaScript五大類常用編輯語言,支持常用構建工具CMake、Maven、Ninja、Gradle等。
此外,在滿足基礎開發需求的同時,deepin-IDE也不乏一些個性化功能,比如:
反向調試:該功能通過進程執行歷史回放、事件分類管理、時間軸管理等手段,進一步提升應用的調試效率和開發能力。
代碼遷移:代碼遷移分析子系統是deepin-IDE的一大亮點,可以輔助開發者將x86平臺的Linux應用遷移到龍芯、飛騰等國產處理器架構,及統信UOS等國產操作系統上,使用該功能可以自動分析出需修改的代碼內容,并給出代碼遷移指導,降低遷移難度,提升遷移效率。
圖片
當然,deepin-IDE還存在一些已知問題待解決,例如“文件描述符占用過多導致崩潰”“底部交互區暫不支持多頁面”“符號樹解析精度不高”等,還有肉眼可見的界面設計問題,因為沒有設計人員參與,所以整個界面由研發人員“原生”設計,非常“天(樸)然(素)去(有)雕(點)飾(丑)”。
就像deepin-IDE研發團隊提到的,“IDE 本身是一個非常宏大的話題”,相較其他成熟的IDE,尚處于起步階段的deepin-IDE仍有許多需要完善的地方。但麻雀雖小,五臟俱全,整體來看,deepin-IDE已經具備了IDE的基本功能,也在創新功能上有所建設,不過和其他基礎軟件一樣,仍需要時間的打磨和實踐的歷練。
2、開源之下,為何還要做自研IDE
關于是否要自研IDE,其實早期就有爭論。有人說,國產化很重要,但是也不必苛求所有東西都國產化。畢竟在開發工具層面,有那么多開源的成熟的IDE可以選擇。不必為了追求自研而自研,以致于有些項目淪為賺取經費、騙取掌聲的工具。
但也有人認為,在大國博弈加劇和地緣沖突激烈的推動下,開源軟件也難以保存其“開放的凈土”。Github 對部分地區的開發者進行限制早有先例。況且退一步講,有的科技巨頭通過開源實現的其實是一種更高形式的壟斷。
雖然開源規避了重復造輪子的麻煩,但使用開源代碼,實際上就是默認了開源方的技術標準。而一旦這種標準被廣泛接受,生態成型,如果你不遵循這一標準,那么眾多兼容問題就會隨之而來。谷歌借由“開源”的安卓反而“壟斷”了市場就是典中典。所以從這一點來說,自主研發IDE有其必要性。
站在deepin的角度,deepin-IDE研發團隊也給出了他們選擇自研的理由。
“從操作系統角度來說,要構建繁榮的生態環境,需要豐富和完善的基軟件體系。開發庫、封包格式、開發工具以及開發者支持,是逐步完善發展的過程。”
在這一漸進過程中,deepin在開發庫和封包格式上已經有了自己的積累和突破,但是在開發工具這一環,卻沒有自研的IDE工具。而在生態建設中,自研IDE是關鍵一環,也是開發者生態的集大成者。
如果有了自研IDE,有哪些益處呢?
首先,自研 IDE可以提供DTK、各種二開接口的開發支持,開發者可以基于開發庫開發出對應業務功能的應用;其次,為了匹配自研軟件包格式“玲瓏”,自研 IDE 可以默認提供“玲瓏”打包格式,一次打包即可覆蓋全 Linux 生態環境;最后,為了便于開發者交流,增強社區活性,自研 IDE 可以集成開發者平臺,使開發者匯聚在一起交流開發經驗。
不過,研發團隊也承認,雖然deepin-IDE “傳承了 deepin‘專注自研,貢獻開源’的技術基因,自研代碼14萬余行”,但同樣“是站在了‘開源’這個巨人的肩膀上,為了避免重復造輪子,采用了一些開源終端組件、功能組件”。他們也對所汲取的開源成果進行了公示。
圖片
但若是被問及“deepin-IDE 和 VSCode 有關聯嗎?”,deepin-IDE研發團隊還是有底氣回答的:“沒有關聯!deepin-IDE 就是純純的自研!”
圖片
3、優質國產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,除了自主可控這一點好處外,無法從市場競爭中獲利也是其沒有發展源動力的關鍵問題。
4、結語:路雖遠,行則將至
不過近幾年情況已經有所好轉。
一方面,國外集成開發環境存在不支持國產軟硬件適配、調試性能差等諸多問題,隨著信創市場的深入發展,應用生態需求的上升,市場對于自主可控的IDE工具的需求也會隨著增大。
另一方面,從公共動態來看,國內互聯網公司在產業鏈的位置的確正在上移。大廠們從以前的做應用,逐漸開始做框架,做數據庫底層開發等等,都釋放出了一個信號:轉型勢在必行。
路雖遠,行則將至。事雖難,做則必成。在充斥著不確定性的大環境下,積極尋求可控的替代解決方案,構建國產IDE產品能力,是一件必須做也需要堅持做的事情。
參考鏈接:
https://www.deepin.org/zh/2023-9-4/