blog

eclipse Theia ドキュメント - 翻訳

最初のプラグインを作成します。例として、Hello Worldコマンドの "Hello world!"通知を表示するために登録します。この記事では、必要なステップをすべて説明します。 Theiaは拡張...

Apr 22, 2020 · 2 min. read
シェア

Theiaプラグインの作成

Theia

このセクションでは、Theiaの一般的なアーキテクチャについて説明します。

Theiaはデスクトップアプリケーションであることも、ブラウザやリモートサービスで実行することもできます。同じコード一式でデスクトップアプリケーションとWebIDEの両方をサポートするために、Theiaは2つの別々のプロセスで実行されます。このプロセスはそれぞれフロントエンドとバックエンドと呼ばれ、WebSocket上のJSON-RPCメッセージまたはHTTP上のREST apiを介して通信します。デスクトップアプリケーションでは、バックエンドとフロントエンドの両方がローカルで実行され、リモートコンテキストではバックエンドがリモートホストで実行されます。

前方部分

フロントエンドプロセスはクライアントを代表し、UIのレンダリングを担当します。ブラウザでは、単にレンダリングループの中で実行されますが、Electronでは、基本的にElectronとNode.jsのAPIを追加したブラウザであるElectronウィンドウの中で実行されます。そして、どんなフロントエンドのコードも、Node.jsを関連付けずに、ブラウザをプラットフォームと仮定することができます。

バックエンド

バックエンドプロセスはNode.js上で動作します。HTTPサーバーとしてexpressを使用します。プラットフォームとしてブラウザに依存するコードを使用する必要はありません。バックエンドアプリケーションのスタートアップは、まず貢献する拡張機能のすべてのDIモジュールをロードし、BackendApplicationのインスタンスを取得してstart(portNumber)を呼び出します。デフォルトでは、バックエンドの express サーバはフロントエンドのコードも提供します。

プラットフォーム分離

extensionsのトップレベルフォルダには、プラットフォームごとに分けられるファイルの追加フォルダがあります:

  • commonフォルダには、ランタイムに依存しないコードが含まれています。

  • Browserフォルダには、プラットフォームとしてモダンブラウザの使用を必要とするコードが含まれています。

  • Electron Browserフォルダには、DOM APIやElectronレンダラー処理に特化したAPIを必要とするフロントエンドのコードが含まれています。

  • nodeフォルダにはコードが含まれており、プラットフォームとしてNode.jsが必要です。

  • node-electronフォルダにはElectron固有のコードが含まれています。

Theia アーキテクチャーの概要については、このドキュメントを参照してください。

Read next

オープンソース=無料?これが真実だ

オープンソースソフトウェアとは、ソースコードが公開されているソフトウェアのことです。オープンソースソフトウェアは、ソフトウェアのソースコードと、ユーザがそれを変更、配布、開発することを許可するライセンスとともに配布されるソフトウェアです。フリー・ソフトウェアとは、ユーザが無料で利用できるソフトウェアのことですが、無料である一方で、ソース・コードを公開しないなどの制約があるのが普通です。

Apr 22, 2020 · 4 min read