eclipse Theia 文檔-中文翻譯(1-1)

引言

業務開發須要 webIDE,經技術調研,最終選定了 eclipse Theia。eclipse Theia 的文獻很少,更無官方中文文檔,在閱讀中決定將其翻譯成文。前端

架構概覽

本節對 Theia 的整體架構進行說明node

Theia 能夠是一個桌面應用,也能夠在瀏覽器和遠程服務中運行。爲了用同一套代碼,支持桌面應用和webIDE,Theia 運行在兩個獨立的進程中。這個進程分別被稱爲前端和後端,它們經過WebSockets上的JSON-RPC消息或HTTP上的REST api進行通訊。在桌面應用中,後端和前端都在本地運行,而在遠程上下文中後端將在遠程主機上運行。web

前端和後端流程都有它們的依賴注入容器,能夠貢獻擴展。express

前端

前端進程表明客戶端而且擔任呈現UI的職責。在瀏覽器中,它簡單的在渲染循環中運行,而在Electron中,它在 Electron 的窗口中運行,Electron 窗口是一個基本的帶有附加 Electron和Node.js api的瀏覽器。而任何前端代碼均可以假設瀏覽器是一個平臺,而不用關聯 Node.js。後端

後端

後端進程運行在Node.js上。咱們使用express做爲HTTP服務器。它可能不須要使用任何依賴瀏覽器做爲平臺的代碼(DOM api)。 後端應用程序的啓動將首先加載全部貢獻擴展的DI模塊,而後得到BackendApplication的實例並在其上調用start(portNumber)。默認狀況下,後臺的express服務器也爲前臺提供代碼。api

平臺分離

在擴展程序的頂層文件夾中,咱們還有一個附加的文件夾層,能夠按平臺分開:瀏覽器

  • common文件夾包含不依賴於任何運行時的代碼。服務器

  • 瀏覽器文件夾包含要求使用現代瀏覽器做爲平臺(DOM API)的代碼。架構

  • 電子瀏覽器文件夾包含須要DOM API以及Electron渲染器過程特定的API的前端代碼。eclipse

  • 節點文件夾包含(後端)代碼,須要Node.js做爲平臺。

  • node-electron文件夾包含特定於Electron的(後端)代碼。

參考

要了解Theia架構的高層概述,請參閱這個文檔:

用JS實現的多語言IDE -範圍和架構

相關文章
相關標籤/搜索