日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

因為眾所周知的原因,最近很多人都在討論國產 IDE,有些 deepin 社區成員就會發出疑問:深度科技(deepin) 有自己的 IDE 嗎?

正在網友熱議的時候,deepin 社區論壇上很快就出現一篇帖子,內容是關于 deepin-IDE 的使用手冊,此貼一出立即炸出很多正在勤奮搬磚的小伙伴。

當然,也會有人緊跟時事發出靈魂一問:

為了消除大家的疑問,本文就做一個正式回答,同時也順帶介紹一下 deepin 自己的 IDE。

為什么要做自己的 IDE

從操作系統角度來說,要構建繁榮的生態環境,需要豐富和完善的基軟件體系。開發庫、封包格式、開發工具以及開發者支持,是逐步完善發展的過程。

開發庫

在開發庫方面,deepin 操作系統已經擁有了自己的 DTK(Development ToolKit)開發套件。DTK 具備4個核心模塊、220+個類、2300+函數接口、11個輔助功能模塊、10+個擴展接口模塊,已經能夠滿足日常圖形應用、業務應用、系統定制應用的開發需求。目前 deepin 操作系統上自研的瀏覽器、音樂、郵件等 40 余款原生應用全部使用 DTK 開發。

- DTK:https://github.com/linuxdeepin/dtk

封包格式

封包格式源于Linux系統的軟件包管理器,例如 apt、up2date、 yum、portage 和 pacman 等。包管理器的多樣性給用戶帶來了更多選擇,但缺點也十分顯著:它們的軟件包無法互通。deepin 操作系統為了解決“一包多用”的問題,推出了“玲瓏”軟件包管理方案,徹底解決系統與應用、應用與應用之間因升級引起的兼容性問題。

- Linglong:https://github.com/linuxdeepin/linglong

- “玲瓏”打包商店:https://store.linglong.dev/

開發工具

在開發工具層面,成熟的 IDE 數不勝數,例如 VSCode、Visual Studio、QtCreator 等,這些成熟IDE都有一些共性,比如良好的擴展性,美觀的界面和較強的易用性,最重要的是對應的生態都已經非常完善。但痛點在于,我們還沒有自研的IDE工具。自研 IDE 是生態建設中非常重要的一環,也是開發者生態的集大成者。

首先,自研 IDE可以提供DTK、各種二開接口的開發支持,開發者可以基于開發庫開發出對應業務功能的應用。其次,為了用上“玲瓏”這樣的好東西,自研 IDE 可以默認提供“玲瓏”打包格式,一次打包即可覆蓋全 Linux 生態環境。最后,為了便于開發者交流,增強社區活性,自研 IDE 可以集成開發者平臺,使開發者匯聚在一起交流開發經驗。由此看來,自研 IDE 勢在必行!

按照 deepin 團隊說干就干的風格,經過多年時間研發,deepin-IDE 就破殼了,它的最終目標就是將上述分散的內容整合到一起,形成一個高度統一、開放自由、資源豐富的生態建設利器。

deepin-IDE 當前完成情況

deepin-IDE 并不是突然冒出來的,在內部已經開發了多年時間,為什么一直都默默無聞呢?因為這期間都在不斷完善特色功能,并攻克一些技術難題,還沒有達到非常完善的地步。同時因為設計人員沒有參與,所以整個界面由研發人員“原生”設計,非常時(樸)尚(素),至于好不好看呢,文末有功能預覽圖,大家看了再說。

首先帶大家看看deepin-IDE的整體架構:

架構介紹

總體采用基于模塊化框架開發,支持 C/C++、Java、Python等多種編程語言,每一種開發語言均是以插件的方式接入。模塊化設計一方面可以縮短產品研發與制造周期,增加產品系列,提高產品質量,快速應對市場變化;另一方面,也可以減少或消除對環境的不利影響,方便重用、升級、維修和獨立卸載。其整體結構設計如下圖所示:

如上圖所示,帶顏色的模塊均和特定的語言相關,對應通信中間件用的是 LSP(Language Server Protocol) 語言服務協議,可以基于該協議實現語法高亮、符號樹、語法樹等功能;調試相關的用的是 DAP(Debug Adapter Protocol) 調試適配協議,可以基于該協議實現被調試程序的啟動、運行、斷點命中、單步跳入、單步跳出等常用調試功能。通過中間協議的適配,解耦了語言業務功能與實際功能提供者的依賴,讓語言擴展變得可行。

為了進一步提高擴展性,前、后端均以插件方式實現。

在前端通過接入一個新的語言插件來實現新語言的擴展,該插件用于實現語言相關的、特殊的業務邏輯,不用編寫全量的代碼,從而減輕了語言插件的代碼負擔。

在后端,通過插件方式可以更容易接入一個語言服務提供者。

根據上述描述,將語言相關的頂層數據流圖繪制如下:

功能介紹

deepin-IDE除了包含IDE常用功能,如智能編輯器、高度可擴展的命令系統、工程管理、構建管理系統、插件系統等之外,還支持多種兼容協議、多種開發語言、代碼版本管理集成、低開銷的實時性能分析工具等。總體而言,IDE常見功能都在表里

版本管理

支持主流版本控制系統Git、SVN。

協議支持

語言支持

支持C++、C、java、python、java script五大類常用編輯語言,支持常用構建工具CMake、Maven、Ninja、Gradle等。

除了上述常見功能,deepin-IDE還包含一些特有功能,例如反向調試、代碼遷移等。

反向調試

該功能通過進程執行歷史回放、事件分類管理、時間軸管理等手段,進一步提升應用的調試效率和開發能力。

代碼遷移

代碼遷移分析子系統是deepin-IDE的一大亮點,可以輔助開發者將x86平臺的Linux應用遷移到龍芯、飛騰等國產處理器架構,及統信UOS等國產操作系統上,使用該功能可以自動分析出需修改的代碼內容,并給出代碼遷移指導,降低遷移難度,提升遷移效率。

功能界面預覽

語言支持

代碼遷移

調試模式

反向調試

版本管理

誰在使用 deepin-IDE

deepin-IDE 已經在深度的部分應用上輕度使用,以下羅列了部分:

開發畫板應用

開發畫圖應用

開發相冊應用

deepin-IDE 將來會如何發展

IDE 是一個非常宏大的話題,deepin-IDE 當前相比于其他成熟的IDE才剛起步,還有很多需要完善的地方:

請一個設計師

插件系統完善

低代碼編程支持

支持一鍵軟件打包:deb、玲瓏打包

支持軟件包簽名、上架應用商店

AI功能的接入

DTK等開發套件集成,文管、桌面、任務欄等插件模板接入

開發者平臺接入

deepin-IDE 還存在一些已知問題待解決:

文件描述符占用過多導致崩潰

存在部分翻譯缺失的問題

底部交互區暫不支持多頁面

符號樹解析精度不高

deepin-IDE 開源嗎

deepin-IDE 傳承了 deepin “專注自研,貢獻開源” 的技術基因,自研代碼14萬余行

當然,這一產品的快速發展,是站在了“開源”這個巨人的肩膀上,為了避免重復造輪子,采用了一些開源終端組件、功能組件,在此列出該產品汲取的開源成果,感謝開源社區!

代碼公開地址,歡迎大家積極參與到 deepin-IDE 的研發:

講到這里,正好可以回答一下本文開頭社友的問題:

deepin-IDE 和 VSCode 有關聯嗎?

我們的回答是:

沒有關聯!deepin-IDE 就是純純的自研!

deepin-IDE根植于開源社區,它依賴于 scintilla 等開源組件,本身也使用了 GPLv3 協議開源,當然也要貢獻開源。和其它的基礎軟件一樣,IDE也需要多年的打造與完善,比如 VSCode 至今也發展了八年,所以開發 IDE 確實難度巨大。

路雖遠,行則將至。事雖難,做則必成。我們也歡迎開源愛好者參與進來,幫助它繼續成長!

分享到:
標簽:好多人問 必須正式介紹一下:deepin-IDE 熱點資訊
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定