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

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