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的官網上去申請,聽說名額有限,趕緊行動起來吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章