大名鼎鼎的JetBrains決定加碼Linux版IDE了。上周的一篇官網的博文,宣布將在其基于IntelliJ的IDE系列中添加對Wayland Linux圖形API的支持。
此舉會給Linux上使用IntelliJ的開發者帶來一系列令人興奮的好處,比如:解決由來已久的局部縮放問題,以及在使用Windows Subsystem for Linux(WSLg)時提升桌面集成(該系統在引擎后臺運行Wayland服務器)。
“雖然Wayland的支持還遠未完成,但現有的功能允許我們在Wayland上運行一些Java Swing和AWT應用程序。”
JetBrains忍痛擁抱Wayland負責人直言:棘手!
大多數JetBrains IDE,都源自一個名為IntelliJ IDEA的通用庫,該庫是用Java構建的(當然它支持多種編程語言)。作為桌面應用程序,這些IDE使用SwingGUI框架,該框架在Linux上調用X11 API。
Wayland是一款嶄新的顯示服務器協議,旨在取代X服務器。目前Wayland的采用情況參差不齊,現在默認用于Ubuntu、Red Hat Enterprise Linux、WSLg和許多其他發行版。
在Wayland上有一個名為XWayland的X11兼容性中間層實現,博文作者Kartashev稱:“這就是所有Java應用程序,包括所有JetBrains的基于IntelliJ的IDE,顯示UI并獲得鼠標和鍵盤輸入的方式。這種方案在大多數情況下都能很好地工作。”
XWayland上運行的問題不少,比如高分辨率屏幕上的模糊文本,這是由應用程序渲染到較低分辨率,然后被Wayland放大引起的。模糊的文本意味著開發人員在長時間使用代碼時會更加疲勞;但這并不是唯一的問題,還有其他問題,包括拖放支持、窗口切換、彈出菜單和屏幕截圖。有些正在修復——比如這個拖放修復——但其他的可能永遠不會修復。
解決方案是切換到本地Wayland支持,但這是一項主要任務。Kartashev說:“X11工具包大約有50000行Java和20000行本地代碼,其中只有一小部分可以在Wayland中重復使用。”他是Wakefield項目的負責人,該項目將Wayland桌面支持引入Linux上的JDK。此基礎項目的進度在此工作細分中進行跟蹤。
Wakefield項目工作分解的一部分,該項目將Wayland支持引入Java開發工具包(JDK)
從這個細分來看,很明顯,Wayland在一段時間內不會提供全面的支持。Kartashev說,雖然很多工作已經完成,包括HiDPI和多監視器支持(這將修復模糊的文本),但還有很多工作要做,包括加速渲染、剪貼板和拖放支持,以及使用鍵盤快捷鍵在窗口之間切換,“這是一項相當棘手的工作,”他說,因為Wayland的安全模型可以驗證輸入是否來自用戶。
Wayland帶來的Linux桌面新范式
Wayland是一種現代顯示服務器協議,旨在通過為圖形環境提供更高效、安全和適應性更強的架構來取代X Window系統。它是Debian 10及更高版本、Fedora 34或更高版本、Ubuntu 18.04或更高版本以及其他發行版(例如 Arch Linux)中的默認窗口系統。
盡管在提供 Wayland 合成器的桌面環境(例如GNOME)上,GNOME文本編輯器和地圖、文件和日歷等官方應用程序都是Wayland原生應用程序。但絕大多數X11應用程序仍然是未受影響的、原生的 X11 應用程序。但這邊不影響它代表著Linux桌面的未來,因為它在許多重要領域帶來了新的范式,例如:
(1)Wayland不提供任何繪圖基元,它只便于在屏幕上顯示應用程序必須提前準備的像素。它也不會為你裝飾你的窗口,盡管有些實現旨在通過自定義協議來幫助你做到這一點。
(2)它將應用程序彼此隔離,也將應用程序與桌面本身隔離。沒有在屏幕上以特定坐標定位窗口的內置功能,也沒有查詢所述位置或其他窗口像素的方法。
(3)對于所有表面上由人發起的操作,如移動窗口或將文本復制到剪貼板,Wayland的協議要求應用程序證明其確實代表用戶行事,通常是通過提供指向最近從Wayland收到的事件的指針,以便服務器可以獨立于客戶端進行驗證。
(4)Wayland協議是事務性的,因為它們允許逐漸建立新的狀態,然后將結果作為一個整體提交,確保用戶永遠不會看到處于不一致狀態的UI。
(5)Wayland采用模塊化設計,不同的服務器可以支持各種協議,擴展Wayland的功能以滿足不同的用例。但是,需要注意的是,并非所有服務器都支持同一組協議。例如,最現代的wp_fractional_scale_manager_v1協議只有五分之一的流行服務器支持(截至2023年8月)
寫在最后:Linux桌面版時代來了
JetBrains作為無數開發者青睞的IDE廠商,這一對Linux桌面版的動作,可以被視為“Linux上運行IDE的使用量在增長”的一個間接證據。
Windows和Mac是最受歡迎的桌面平臺,但Linux作為服務器應用程序的系統依舊占據主導地位,這意味著開發人員越來越熟悉開源操作系統。最新的StackOverflow調查顯示,Ubuntu排名第三,僅次于Windows和MacOS,超過25%的開發人員使用它,WSL排名第五,超過15%的人使用它。
而單論IDE面向的用戶來說,Linux一點也不小眾,IDE廠商不持續發力研發迭代Linux版不僅僅是散失四分之一的用戶,而是丟失了一整個生態。同時,Linux版IDE的需求是切切實實存在的,開發IDE的商業公司都不會忽略這個市場。
而此次JetBrains之所以優先選擇Java擁抱Wayland,這與JetBrains全家桶大量使用Java,遷移難度相對較低的事實不無關系。Linux桌面的未來既然是Wayland,那么Jetbrains就沒有理由不擁抱Wayland。
-
Linux
+關注
關注
87文章
11353瀏覽量
210623 -
服務器
+關注
關注
12文章
9342瀏覽量
86183 -
JAVA
+關注
關注
19文章
2978瀏覽量
105268 -
API
+關注
關注
2文章
1522瀏覽量
62491
原文標題:終于決定了!知名IDE JetBrains宣布重倉這款Linux桌面服務器 !
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
JetBrains IDE上架開發微信小程序的官方插件
![<b class='flag-5'>JetBrains</b> <b class='flag-5'>IDE</b>上架開發微信小程序的官方插件](https://file1.elecfans.com/web3/M00/06/3D/wKgZPGeI0A2AQ6LXAAAxu_wOZYQ850.png)
termius如何使用,termius如何使用的過程,linux服務器遠程連接的實用教程
![termius如何使用,termius如何使用的過程,<b class='flag-5'>linux</b><b class='flag-5'>服務器</b>遠程連接的實用教程](https://file1.elecfans.com/web3/M00/02/DA/wKgZPGdiX3yAXdQLAAK9FBOIgKY662.png)
如何在Linux系統上設置站群服務器IP地址
如何使用 Mobaxterm 建立 Linux 服務器連接
服務器數據恢復—Linux網站服務器硬盤出現壞扇區的數據恢復案例
如何優化Linux服務器的性能
服務器數據恢復—硬盤出現壞扇區導致網站服務器宕機的數據恢復案例
RAKsmart美國大帶寬服務器租用體驗怎么樣?
Linux服務器性能查看方法
服務器數據恢復—xfs文件系統服務器數據恢復案例
在Linux服務器上使用IAR Build Tools實現DevOps和CI/CD
![在<b class='flag-5'>Linux</b><b class='flag-5'>服務器</b>上使用IAR Build Tools實現DevOps和CI/CD](https://file1.elecfans.com/web2/M00/FE/58/wKgZomaht5GATMTZAAAQBmEbFx4528.png)
評論