偶然間看到了Eclipse又搞出了一個叫Che的幺蛾子,本著程序員的折騰之心,自然要去折騰一下,看看這個是一個很“扯”的東西,還是說會成為日常工作的又一利器
Next-Generation Eclipse IDE
Eclipse Che is a developer workspace server and cloud IDE.
上面是Che官網上的介紹,可以看到Che的定位是一款云IDE,同時,首頁的大圖也表示,Che運行在瀏覽器上
下載,開搞
運行Che
跟Eclipse一樣,跑起Che來也需要Java,Che很明確的表明了,需要Java8以上的版本,以及Maven 3.3.1,需要注意的是,運行Che還需要安裝Docker1.8+
執行bin下的che.sh(win用戶對應che.bat),就可以啟動Che了。啟動的速度很快,startup出現后,打開瀏覽器,默認配置的話,在localhost:8080就可以看到che的主頁了
新建項目
好久沒有用過Eclipse,不知道Eclipse現在長什么樣子,不過Che的界面,要比我印象中的Eclipse界面顯得大方、簡潔了許多,印象分先給個好評(個人用過的最新的版本是Kepler)
從圖中可以看到,Che提供的配置項還是略少。今天只打算做一個簡單的使用,所以這里創建了一個基本的web項目
Workspace
單擊新建之后,從日志中可以看到,Che創建了一個codenvy/ubuntu_jdk8的Docker鏡像,作為Workspace的Master,一會兒項目運行的時候,也是運行在這個鏡像之中。項目的代碼被保存在${CHE_HOME}/workspaces下,同時,在Docker鏡像的/projects下也會有一份代碼
需要注意的一點,由于workspace配置在容器中,maven下載的依賴庫,也會下載到workspace的容器中,無法使用本地的庫。鑒于某種眾所周知的原因,建議大家先配置一下.m2/settings.xml
不知道出于什么考慮,即使是對于同一個Workspace,每次啟動的時候也會去創建不同的鏡像,對于我本地測試的來說,每次init workspace后,都需要去重新配置settings.xml。如果部署在server上的話,應該就沒有這種麻煩了
IDE
感覺IDEA流行起來之后,黑色成為各大IDE的新寵,Che的主色調也是黑色,視覺上還是蠻好看的
updating dependency fail兩次之后,終于成功加載Spring依賴,坑爹的是,每次fail之后,沒有找到直接update的地方,暫時使用的方法是,在主頁面上,選中當前項目,再次選擇open in ide,重新update
比較奇怪的一點是,雖然Editor區域會提示報錯,但是左側文件樹上,報錯的文件沒有任何提示,估計這一點后續會有優化
另一個坑的一點是,沒能在五分鐘之內找到調字體的方式(╯‵□′)╯︵┻━┻(雖然作為一web IDE,是可以通過修改css文件的方式,實現字體的修改)
配置上要比本地的IDE少了很多可選項,很驚喜的是,可以選擇Vi或者Emacs模式,作為一Vim黨還是激動了一下,然而......光標前面還保留著默認模式的豎線,而且不支持命令模式(輸入冒號直接插入了一個“:”),果斷換回了默認的模式
可以設置一下本地代碼的檢查級別,算是一個強迫癥福利(如果可以自定義代碼檢查規則,對于有代碼檢查的公司來說,也將會是一個福利)
Editor
再來說一下editor本身
我是在本地起的服務,輸入代碼什么的體驗還是很流暢的。需要吐槽的是自動補全的功能,輸入了小于號“<”后,自動補出了“<>”,個人認為這是一個值得優化的點
editor本身是支持自動保存的,剛鍵入的代碼,即使刷新之后也不會丟失。而且很好的屏蔽了ctrl + s鍵,不會出現習慣性的保存之后,彈出保存網頁的尷尬
調試
Che的啟動是在editor上方,CMI處可以選擇啟動命令并執行 。默認會配置一些基本的命令,如mvn clean install、catalina.sh run等
為了使用debug模式,需要新建一條debug用命令(其實就是把run的命令copy過來加上jpda)
$TOMCAT_HOME/bin/catalina.sh jpda run
啟動上一條命令,待tomcat啟動后,選擇Run --> Remote debug,我是在本地啟動的,所以直接選擇localhost:8000就可以了
調試界面的話,相對于本地的ide就要“簡樸”了許多,查看、修改變量值,單步調試等都可以實現,不過界面上相對本地IDE來說就不那么友好了
一點總結
本次只是做了一個簡單的試用,一些功能如插件安裝、git、熱部署等未做嘗試。整體來說,Che是一款不是很像Eclipse的Eclipse系IDE。相較于我們熟悉的Eclipse IDE(個人用的最后的版本應該是Kepler)來說,變化還是很大。易用性上來說,估計開發、調試一些小項目不成問題,簡單的使用中,沒有發現太多的不適,優化做的還不錯,當然作為第一個Release版本,相信一些小問題后續還有有所改進(并沒有對配置進行深入的探究,可能個人認為的“小問題”,實際上是可以通過配置來解決的)
隨著近些年網絡的飛速發展,很多以前不敢想象的事情慢慢變成了現實。以前很多本地的應用,現在在瀏覽器上就可以使用,H5等技術賦予了互聯網更多的想象力。Chrome OS剛出來的時候,一部分對其不屑一顧,認為一個瀏覽器能做的事情太少,但我們確實正在迎來一個只使用瀏覽器就可以完成大部分工作的時代
個人對web IDE這個領域了解的并不多,只是從一個程序員的角度來說,對這一領域還是充滿了期待。如果以后真的由一款完全可以滿足日用的web IDE,那么我十有八九會使用它,暫時想到的優勢如下:
- 不再有繁瑣的配置環境的過程,只需要打開瀏覽器,便能將更多的精力放在代碼上面
- 而且利用高性能的服務器,可以獲得更好的調試體驗
- 通過將workspace部署在云端,用戶端只需要一個可以打開瀏覽器的電腦,也能極大降低用戶的終端的成本
當然,現階段Che也有一些不足:
- 功能有待完善
- 自定義配置顯得不足
- 界面體驗上相較于IDEA、Eclipse不夠友好
- 一些細節能然值得優化
后續我也會在公司的開發機上試用一下Che,測試一下開發稍大一點的項目,Che會有哪些優勢與不足
附上Che的一些信息
官網:http://www.eclipse.org/che
文檔:https://eclipse-che.readme.io/docs
github:https://github.com/eclipse/che
個人的調試環境:
- Ubuntu 14.04
- Java 1.8.0_60
- Maven 3.3.3
- Docker 1.10.2
使用過程中沒出現環境問題