JetBrains又出神器啦!Fleet,體驗飛一般的感覺


簡介

java開發的同學可能對於JetBrains這家公司並不陌生,因為JetBrains號稱擁有世界上最好的JAVA開發工具IDEA。確實IDEA非常好用,它滿足了一個java開發者所有的夢想。

當然JetBrains還提供了其他語言的開發神器,PyCharm,PhpStrom,WebStorm等等。只要跟開發工作有關的,都能在JetBrains的全家桶中找到。

這么好用的神器自然是價格不菲,但是JetBrains特意為學生黨推出了免費的licence版本,非常的人性化。

現在JetBrains又准備推出一款編輯器Fleet,這款編輯器到底是做什么的呢?它有什么優點呢?一起來看看吧。

從eclipse到Fleet

還記得最開始接觸java的時候,還是從JAVA的命令行開始的。編寫完代碼之后,首先用javac命令將代碼編譯成字節碼,然后再使用java命令去運行。雖然java是世界上第二好用的語言,但是這種手動編譯運行的方式實在讓人頭痛。

后來有一天,聽同學介紹,發現了eclipse這個工具。當時實在是驚為天人!它是如此的強大,顛覆了我對IDE的認知。

當然,我始終認為IDE做的最好的是微軟出的Visual Studio,簡直是包羅萬象,可惜那時候Visual Studio只支持微軟自己的C#和.net平台,無奈只好放棄。

eclipse又好用又免費,加上品類繁多的各種插件,DIY一個符合自己口味的IDE不在話下。

所以那時候在開發之余的另外一個愛好就是反復安裝eclipse的各種插件,體驗不一樣的樂趣。

后來在工作中,一開始也是使用eclipse,不過eclipse作為一個純開源項目,也暴露出來了它的短板,就是第三方插件比較混亂,在使用中往往有這樣那樣的bug。

然后有同事給安利了IDEA,說實話最開始的IDEA是很丑的,並且IDEA對項目的組織方式更加松散,更像是對一個個文件的管理而不是項目,所以我仍然堅持使用eclipse。

那么,是什么讓我產生了從eclipse到IDEA的轉換呢?

記得,那是一個夏天,天還還很藍。我像往常一樣點進eclipse的官網,看一下是否有最新的版本可以升級。

本來沒報什么希望,結果還真的有,這個版本就是eclipse che,居然是一個web版的開發工具,號稱是下一代eclipse。

難道eclipse以后就只能在web端使用了嗎?瀏覽器的體驗有沒有本地開發工具這樣絲滑呢?

雖然我很擔心,但是抱着試一試的態度,還是按照官方的文檔,嘗試安裝eclipse che。

安裝過程很痛苦,使用過程更加痛苦。不知道是我機子系統的問題還是它的文檔沒有寫明白,我硬是沒有能夠用eclipse che來開發一個項目。

eclipse che本意是將開發環境搬到雲上,奈何那時候的技術和思想有點太超前了,於是成功把我勸退了。

接下來就從eclipse切換到IDEA,進行了多年的開發。后面再也沒有去關注過eclipse和eclipse che的發展。

在寫這篇文章的時候,我特意去看了下,原來Eclipse本地的IDE還在,它的最新版本是2021‑12,eclipse che也發展到了7.0版本,並且開始支持Kubernetes-Native。

但是,一切都回不到過去了。

既然eclipse已經過去了,我們再聊一下IDEA。

說實話,作為一款付費的軟件,IDEA在使用上的確比eclipse強。最好用的java開發IDE不是白吹的。

當然,為了支持IDEA這么強大的特性,就需要占用大量的系統內存。IDEA動不動就1G-2G完全不成問題。

那么有沒有輕量級的開發工具呢?當然有。

所謂開發工具,就是支持代碼高亮,編譯代碼這些功能的工具,記事本之類的這里就不提了。

那時候有兩個工具可以使用,一個是atom,一個是微軟的vs code。

兩者都是輕量級的開發工具,都支持插件的擴展。我也都用了,最后還是選擇了微軟的vs code。雖然沒有具體進行比較,但是感覺微軟的更加穩定,功能性方面更好。

既然已經有了微軟vscode這樣的強大又簡潔的輕量級開發工具,那么Fleet憑什么認為大家會選擇它呢?

這是一個好問題。我們細細道來。

Fleet的特性

Fleet最大的優勢就是背靠jetbrains這顆大樹,有了IDEA等一眾開發工具的加持,大家很難不相信Fleet的品質。

換用jetbrains的話來說,他們花了20年的知識和經驗來編寫開發工具,並且Fleet底層使用的是IntelliJ的代碼處理引擎,所以Fleet是足夠可信的。

當然,有了保證還是不夠的,我們需要知道Fleet到底有那些特性。

先看下Fleet的主界面。非常的簡潔漂亮。自帶了git和history。

Fleet支持自動完成,重構,跳轉,debug等所有IDE應該支持的特性。

目前Fleet支持的語言有JAVA,kotlin,python,go,javaScript,Rust,TypeScript和JSON。其他的語言如PHP,C++,C#,HTML正在開發中。

看到這里,我們可能還有疑問,這些特性好像其他的輕量級IDE都有呀,那么Fleet的特色在哪里呢?

分布式!沒錯,是分布式!

Fleet的架構是分布式的,Fleet 並不關心您的項目是在本地、在容器中還是在千里之外的另一個國家。 通過提供虛擬化文件系統,Fleet 可以同樣出色地處理本地和遠程項目。

Fleet有三種工作模式,分別是Editor mode,Smart mode,Distributed mode.

對於editor mode來說,一切都是本地的,所以它提供的功能和特性比較有限:

在Smart mode中,可以提供一些高級的特性,比如項目和上下文感知代碼完成、定義和用法的導航、動態代碼質量檢查和快速修復等。這些特性不是一個輕量級的Fleet能夠完成的,所以需要額外的Language Servers和Code engine來處理,如下圖所示:

什么叫做Distributed mode呢?就是把這些Language Servers和Code engine統一放到雲上或者docker容器中,本地的Fleet只作為客戶端和遠程服務器進行連接即可:

這樣的分布式也同時可以實現多用戶協同合作的功能。

個人感覺,Fleet可能是eclipse che的高級版本。敬請期待。

JetBrains Space

另外,jetBrains還把Fleet和JetBrains Space進行結合。

你可以把JetBrains Space看做是一個遠程的工作環境,可以免去了本地搭建工作環境的煩惱。

總結

Fleet這么好用,那么怎么下載呢?很抱歉,Fleet暫時無法下載,你必須到Fleet的官網上去申請,聽說名額有限,趕緊行動起來吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM