Categories
程式開發

JavaScript多語言IDE框架Theia 1.0 發布,支持Web IDE


本周初,Eclipse基金會宣布發布Eclipse Theia 1.0,這是一個用於構建Web和本地IDE的開源框架。 Theia提供了一個用於構建IDE的JavaScript框架,該IDE可以運行在Web上,也可以打包成Electron應用程序運行在桌面上。它被設計成與VSCode擴展相兼容,並且使用相同的語言服務器協議(Language Server Protocol,LSP),以便能夠遠程開發各種編程語言,包括Java、Python、Rust及更多其他語言

儘管Theia表面上看起來與VSCode相似,但實際上它是一個IDE框架,而不是IDE本身。它提供了組件,比如,是JavaFX而不是IDE本身支持了GUI應用程序。但是,許多IDE是構建在Theia的預發行版本上的,其中包括主流的Gitpod.io以及Eclipse Che,前者為我們的應用程序提供了基於Web的IDE,後者可以在Kubernetes集群中運行以用於自託管的解決方案 。

Theia項目的項目負責人Sven Efftinge,強調了Theia作為框架與微軟VSCode之間的一些區別:

微軟禁止非Visual Studio產品安裝從其市場下載的任何二進製文件。 (請參閱條款

考慮到大多數擴展都是開源的,而不是由微軟開發的,因此情況非常糟糕。
這種限制不僅影響Theia和它的所有下游採用者,而且還影響基於VS Code的開源代碼的發布,比如 VS Codium

雖然VSCode是免費提供的,但它具有一些非開源的組件,並向微軟報告了遙測;這導致了VSCodium的構建,它刪除了非開源組件。然而,用於編譯和高亮代碼的語言服務器協議是可以自由實現的,並且可以被其他IDE使用,同樣的方法也可用於Theia及其衍生工具。

不可用的是微軟市場。為了解決這個問題,Eclipse Theia項目創建了Open VSX作為微軟市場的開源實現,並將open-vsx.org託管為開源擴展的公共註冊表。這也支持用於託管VS Code/Theia擴展的本地解決方案。

Theia的開發已經進行了大約18個月,它是Gitpod.io的框架,Gitpod.io提供了一個基於Web的IDE,用於構建GitHub、Gitlab以及(即將)BitBucket託管項目。 Gitpod.io使我們git存儲庫能夠在Web瀏覽器中打開、導航、編輯、提交和運行。它提供了一個基於docker的運行時來執行代碼,以及一個允許在適當位置執行代碼的shell。 Theia是建立在其他基於Web的IDE(例如CodeEnvy、Cloud9及Bespin)的經驗之上的。

Eclipse Che提供了一種可託管的基於Web的IDE體驗,它可以在本地運行,並使用Kubernetes擴展其後端。 Eclipse Che已經有四年多的歷史了,它最初使用的是基於GWT的IDE,但是隨著7.0版本的發布,它切換到Eclipse Theia上運行了,從而可以提供了更大的靈活性,並且可以在運行時安裝插件,而無需重新編譯GWT代碼。

其他商業和開源IDE也使用了Theia,比如Arm的mBed Studio、Arduino的Pro IDE、Google的Cloud Shell編輯器及其他更多。它們使用相同的代碼庫,但既可以作為Web應用程序運行,也可以使用Electron運行時作為本地IDE運行。

Eclipse基金會執行的董事Mike Milinkovich強調了一些為基於Web的IDE提供標準化框架的好處:

Theia是由不同貢獻者、提交者和支持公司(如TypeFox、 Ericsson、Red Hat、ARM)共同開發的。在過去的三個月中,它有超過50名提交者和貢獻者,這是一個快速發展、廣受歡迎且開放的社區,在這裡所有的貢獻都能被接受。

Theia不僅僅是VS Code的替代品。 Theia與VS Code之間的主要區別在於:Theia旨在被其他公司和社區所採用,以構建和部署基於Web的現代開發人員體驗。 VS Code很棒,但它只會是微軟的產品。

Theia旨在被這樣一群人所修改、擴展和發布,他們想要創建與VS Code一樣出色的開發人員工具(包括使用相同的Monaco Editor),並且可以利用VS Code擴展生態系統。當然,它是基於EPL 2.0許可的,因此組織或個人使用Theia來構建和發布產品是很容易的。

如果您有興趣了解Theia的外觀或功能,可以在GitPod中啟動一個包含Theia的工作區以進行查看

原文鏈接:

Theia Framework 1.0 Enables Web IDEs