云IDE:Eclipse Che:Eclipse下一代IDE(推薦)
Eclipse Che被Eclipse官方稱為下一代IDE,作為老牌的IDE,被其寄予厚望的Eclipse Che到底有什么特點(diǎn),在這篇文章中我們來(lái)一探究竟。
開(kāi)發(fā)團(tuán)隊(duì)的Kuberentes原生IDE
Eclipse Che對(duì)開(kāi)發(fā)團(tuán)隊(duì)來(lái)進(jìn)行Kubernetes開(kāi)發(fā)使能,提供了一鍵生成開(kāi)發(fā)者工作空間的功能,消除了團(tuán)隊(duì)本地環(huán)境配置的操作。Che可以將Kubernetes應(yīng)用更容易地發(fā)布至開(kāi)發(fā)環(huán)境,并且提供了一個(gè)基于瀏覽器的IDE,使得開(kāi)發(fā)者可以從任何機(jī)器進(jìn)行編碼、測(cè)試和運(yùn)行應(yīng)用程序等操作,所有的一切只需要提供一個(gè)瀏覽器即可。
功能特性
生產(chǎn)運(yùn)行環(huán)境
Eclipse Che可以支持各種容器,甚至是多容器的運(yùn)行環(huán)境??梢栽贙ubernetes、OpenShift或者Docker環(huán)境中運(yùn)行,Chec可以使用從DockerHub或者開(kāi)發(fā)者自己的鏡像私庫(kù),通過(guò)添加基于SSH的Agent,使得生產(chǎn)鏡像通過(guò)終端和語(yǔ)言服務(wù)可以具有開(kāi)發(fā)環(huán)境功能,停止時(shí),Che也可以保存工程相應(yīng)的關(guān)鍵狀態(tài)信息。支持和實(shí)現(xiàn)此項(xiàng)特性的基礎(chǔ)能力主要包括:
- 容器運(yùn)行環(huán)境
- Compose運(yùn)行環(huán)境
- SSH訪問(wèn)
- 根用戶終端訪問(wèn)
- 預(yù)構(gòu)建和自定義的組件
- 工作空間快照

工作空間的開(kāi)發(fā)模式
通過(guò)Agent為工作空間添加開(kāi)發(fā)者服務(wù)包括語(yǔ)法自動(dòng)補(bǔ)齊、錯(cuò)誤檢查和調(diào)試工具等。針對(duì)不同語(yǔ)言提供智能提示,可以啟用根用戶或者SSH訪問(wèn)方式。支持和實(shí)現(xiàn)此項(xiàng)特性的基礎(chǔ)能力主要包括:
- 語(yǔ)言服務(wù)器
- 智能提示與重構(gòu)
- 調(diào)試器
- 工作空間Agent
- 智能命令
- SSH訪問(wèn)
- 根用戶終端訪問(wèn)

可使用任何IDE
可以在任何設(shè)備上進(jìn)行工作,無(wú)需安裝軟件,因?yàn)镋clipse Che IDE已經(jīng)提供了內(nèi)建方式。也可以使用開(kāi)發(fā)者自己喜歡的桌面IDE,只需要掛載Che工作空間即可,一切可根據(jù)用戶自行選擇。支持和實(shí)現(xiàn)此項(xiàng)特性的基礎(chǔ)能力主要包括:
- 瀏覽器IDE
- RESTful 工作空間API

團(tuán)隊(duì)開(kāi)發(fā)
基于生產(chǎn)鏡像創(chuàng)建定制的團(tuán)隊(duì)可用的組件和運(yùn)行環(huán)境,包括開(kāi)發(fā)所需要的工具。所有人都可以使用這樣的組件或者拷貝工作空間來(lái)快速創(chuàng)建可以用于生產(chǎn)環(huán)境的應(yīng)用。甚至可以通過(guò)添加示例代碼來(lái)實(shí)現(xiàn)對(duì)新人進(jìn)行培訓(xùn)的目的。支持和實(shí)現(xiàn)此項(xiàng)特性的基礎(chǔ)能力主要包括:
- 組件運(yùn)行環(huán)境
- 團(tuán)隊(duì)工作空間
- 項(xiàng)目示例

語(yǔ)言服務(wù)協(xié)議
語(yǔ)言服務(wù)協(xié)議(Language Server Protocol )是由Microsoft, Codenvy, Red Hat 和 IBM共同開(kāi)發(fā)的協(xié)議,包括語(yǔ)法分析,高亮以及在Eclipse Che內(nèi)的重構(gòu)代碼。協(xié)議用于在客戶端工具和語(yǔ)言服務(wù)之間進(jìn)行功能特性的集成,比如自動(dòng)不起、定義跳轉(zhuǎn)和搜索所有引用等。

調(diào)試器
Che可以在開(kāi)發(fā)者的工作空間中插入調(diào)試代理以允許變量監(jiān)控和替換、斷點(diǎn)設(shè)定、但不調(diào)試和其他常用的調(diào)試操作。調(diào)試器可以與組件或者用戶工作空間進(jìn)行關(guān)聯(lián)。

SSH / 終端
Che向工作空間關(guān)聯(lián)的操作系統(tǒng)中添加SSH守護(hù)進(jìn)程,使用ssh連接開(kāi)發(fā)者自己的IDE比如Eclipse,上傳死鑰或者使用Che為每個(gè)工作空間創(chuàng)建密鑰對(duì)。通過(guò)Che的瀏覽器終端,開(kāi)發(fā)者可以訪問(wèn)自己的工作空間,并且具有工作空間所關(guān)聯(lián)操作系統(tǒng)的根用戶權(quán)限。

組件
組件指的是工作空間的運(yùn)行環(huán)境配置,包含運(yùn)行環(huán)境所需要的構(gòu)建文件(recipe)和元數(shù)據(jù)信息比如標(biāo)簽、描述信息、環(huán)境名稱以及安全策略等。組件在用戶的儀表盤中被展示,組件標(biāo)簽tag可以用于過(guò)濾可用的工程代碼示例。組件的構(gòu)建文件可以是Kubernetes YAML、Dockerfile或者Docker Compose文件,可以通過(guò)這些文件的方式來(lái)創(chuàng)建潛入到工作空間的運(yùn)行環(huán)境。Che已經(jīng)提供了30+的內(nèi)建的組件可以用于開(kāi)發(fā)者的工作,當(dāng)然也可以創(chuàng)建自己的組件。

RESTful的工作空間
所有的Che服務(wù)都可以通過(guò)RESTful API進(jìn)行訪問(wèn),無(wú)論是通過(guò)工作空間的master還是agent,Che都提供了可以使用的API進(jìn)行操作。工作空間master提供了工作空間管理和用戶管理,而在每一個(gè)工作空間中,agent就是一個(gè)微型的提供了項(xiàng)目相關(guān)API的Che服務(wù)器,比如Che通過(guò)RESTful JDT wrapper提供了100+的Java智能提示能力。Che使用Swagger用于瀏覽和管理API。

可擴(kuò)展的云IDE(Cloud IDE)
Che提供了一個(gè)可以從本地或者遠(yuǎn)端設(shè)備上進(jìn)行訪問(wèn)的免安裝的瀏覽器IDE。簡(jiǎn)、快、美:這是IDE和開(kāi)發(fā)者所期待的。IDE使用了跨瀏覽器的JavaScript和CSS來(lái)實(shí)現(xiàn),通過(guò)瀏覽器來(lái)進(jìn)行使用,使用瀏覽器不同的tag頁(yè)面可以打開(kāi)不同的工作空間,每個(gè)空間消耗100M以下的內(nèi)存,流暢的用戶交互體驗(yàn)也不會(huì)因工作空間在遠(yuǎn)端而受到影響。Eclipse Che基于Eclipse Theia提供了VSCode體驗(yàn)的WebIDE功能,提供了最新的工具協(xié)議,包括語(yǔ)言服務(wù)、調(diào)試適配器以及和VSCode擴(kuò)展的兼容性。對(duì)于更傾向于使用個(gè)人桌面IDE的用戶,Che同樣支持。同時(shí)提供了很多流行的工具包括:
- 嵌入式的Orion編輯器
- 按鍵綁定
- 全球化的鍵盤支持
- git / subversion工具

多工程管理
Che是一個(gè)真正的IDE平臺(tái),識(shí)別項(xiàng)目并綁定至倉(cāng)庫(kù)并指定類型,不同項(xiàng)目類型被賦予不同行為,比如Java項(xiàng)目被添加時(shí),Che會(huì)添加RESTful JDT core的功能到相應(yīng)的工作空間。工作空間可以有多個(gè)工程,每個(gè)工程都有自己的類型,雖然共享于一個(gè)工作空間,每個(gè)工程都可以被獨(dú)立的構(gòu)建和運(yùn)。當(dāng)下,Che的工程類型仍然有限,主要包括JavaScript、Maven和空工程類型。后續(xù)將會(huì)進(jìn)一步和社區(qū)生態(tài)即可提供更多選擇。

命令
Command是運(yùn)行在工作空間所在操作系統(tǒng)的一個(gè)進(jìn)程,可能是用戶、工作空間或者項(xiàng)目相關(guān)。
命令具有不同類型,不同類型的命令具有特定的行為,比如Maven命令類型就包含生命周期階段運(yùn)行相關(guān)的內(nèi)容。命令執(zhí)行時(shí),可以對(duì)項(xiàng)目和其他資源進(jìn)行操作,允許用戶跨項(xiàng)目和模塊執(zhí)行命令,執(zhí)行時(shí)并與一定的上下文相關(guān)聯(lián)。

預(yù)覽
提供預(yù)覽的功能,可以針對(duì)項(xiàng)目的上下文和工作空間,創(chuàng)建和顯示用于預(yù)覽的Web頁(yè)面,同時(shí),和預(yù)覽功能結(jié)合,通過(guò)相應(yīng)的命令,在工作空間中可以更好地啟動(dòng)和調(diào)試。
插件
Che可以通過(guò)使用定制化內(nèi)建的插件或者使用者自己的插件來(lái)進(jìn)行擴(kuò)展??梢酝ㄟ^(guò)使用Che提供的方式生成用戶自己的插件,用戶可以編寫(xiě)插件來(lái)操作IDE、Che服務(wù)器或者工作區(qū)代理,插件會(huì)由Che在合適的時(shí)間插入到應(yīng)該插入的位置。

整體架構(gòu)

用戶視角
- 開(kāi)發(fā)者
可以使用Che作為IDE進(jìn)行任何框架和語(yǔ)言的編寫(xiě),可以有助于工程和運(yùn)行環(huán)境更加具有可移植性,同時(shí)上云更加簡(jiǎn)單。
- 產(chǎn)品負(fù)責(zé)人
可以通過(guò)將Che嵌入到產(chǎn)品之中,只需要通過(guò)API進(jìn)行控制即可。三星、SAP和紅帽等使用Che創(chuàng)造了很好的開(kāi)發(fā)者體驗(yàn)。比如SAP的WebIDE

在比如Codenvy,做了企業(yè)級(jí)的Che使用封裝

- 擴(kuò)展提供者
可以使用組件、模版、擴(kuò)展和插件進(jìn)行新的開(kāi)發(fā)者工具的創(chuàng)建,更好地利用和擴(kuò)展使用方式。
總結(jié)
Eclipse Che有強(qiáng)大的背景公司的技術(shù)力量的支持,有眾多既有用戶的追隨,是后續(xù)云IDE選型中不可忽視的一個(gè)選擇項(xiàng)。
到此這篇關(guān)于云IDE:Eclipse Che:Eclipse下一代IDE的文章就介紹到這了,更多相關(guān)Eclipse下一代IDE內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- JavaWeb開(kāi)發(fā)之【Tomcat 環(huán)境配置】MyEclipse+IDEA配置教程
- Eclipse創(chuàng)建tomcat實(shí)現(xiàn)過(guò)程原理詳解
- 詳解Eclipse 字體、字號(hào)的設(shè)置、最佳字體推薦
- 在eclipse中使用SVN的方法(圖文)
- 最新版Eclipse安裝、配置圖文教程詳解
- IDEA 非常重要的一些設(shè)置項(xiàng)(一連串的問(wèn)題差點(diǎn)讓我重新用回 Eclipse)
- 2020最新eclipse安裝過(guò)程及細(xì)節(jié)
- Eclipse 2020-06 漢化包安裝步驟詳解(附漢化包+安裝教程)
- Eclipse手動(dòng)導(dǎo)入DTD文件實(shí)現(xiàn)方法解析
相關(guān)文章
java跳出for循環(huán)的三種常見(jiàn)方法
這篇文章主要給大家介紹了關(guān)于java跳出for循環(huán)的三種常見(jiàn)方法,需要的朋友可以參考下2023-07-07
Java?數(shù)據(jù)結(jié)構(gòu)與算法系列精講之漢諾塔
漢諾塔是源于印度一個(gè)古老傳說(shuō)的益智玩具。大梵天創(chuàng)造世界時(shí)做了三根石柱,在一根柱子上從下往上按大小順序摞著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開(kāi)始按大小順序重新擺放在另一根柱子上。并且規(guī)定,在小圓盤上不能放大圓盤,三根柱子之間一次只能移動(dòng)一個(gè)圓盤2022-02-02
關(guān)于java關(guān)鍵字this和super的區(qū)別和理解
這篇文章主要給大家介紹了關(guān)于java關(guān)鍵字this和super的區(qū)別和理解的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
Apache?Commons?CLI構(gòu)建命令行應(yīng)用利器教程
這篇文章主要為大家介紹了構(gòu)建命令行應(yīng)用利器Apache?Commons?CLI的使用教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
在Eclipse安裝Spring boot插件的步驟(圖文)
這篇文章主要介紹了在Eclipse安裝Spring boot插件的步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
Java并發(fā)編程之Semaphore的使用簡(jiǎn)介
這篇文章主要介紹了Java并發(fā)編程之Semaphore的使用簡(jiǎn)介,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下2021-04-04
在SpringBoot中整合使用Netty框架的詳細(xì)教程
這篇文章主要介紹了在SpringBoot中整合使用Netty框架的教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06

