GitHub、「Atom」エディタで手軽にコードを共同編集できる「Teletype for Atom」β版をリリースAtom内で“ポータル”に参加してリアルタイム共同編集

GitHubは、オープンソースエディタ「Atom」でチームメンバーと手軽にコードを共有し、共同編集できる「Teletype for Atom」のβ版をリリースした。

» 2017年11月21日 11時00分 公開
[@IT]

 GitHubは2017年11月15日(米国時間)、オープンソースエディタ「Atom」でチームメンバーと手軽にコードを共有し、リアルタイムに共同編集できるパッケージ「Teletype for Atom」のβ版をリリースした。

 Teletype for Atomを使えば、チームメンバーのリモートで行われるキー操作が自分のAtom画面に直接反映される。Atomで開ける任意のファイルを共有し、衝突なく、低レイテンシで共同編集が行えるという。

Teletype for Atomを使う

 Teletype for Atomを利用するには、Atom 1.22以降が必要だ。インストールは、Atomの「Settings(設定)」ビューからか、コマンドラインで「apm install teletype」と入力して行う。インストール後、ステータスバー上の新しいコラボレーションメニューから、ローカルワークスペースに「ポータル」を開くことができるようになる。ポータルを開いたユーザーは、そのポータルのホストとなる。

ポータルの共有をオンにし、ポータルIDをコピー(出典:GitHub)

 次に、ホストはポータルの「ポータルID」をお好みのチャットサービスでチームメンバーに知らせる。

ポータルIDをチャットサービスでチームメンバーに送信(出典:GitHub)

 チームメンバーは、コラボレーションメニューから「Join a portal」をクリック。ポータルIDをフィールドに入力して「Join」をクリックすることでポータルにゲストとして参加できる。

ポータルIDを持っていればポータルに参加できる(出典:GitHub)

 ポータルに参加すると、ゲストのワークスペースに新しいタブが表示される。そのタブにホストのコード内容が表示され、共同編集ができる。ポータル参加者は、全員が「カーソル」を持ち、同時にタイプできる。共有はピクセルレベルではなく、キー操作レベルで行われるため、参加者はそれぞれのカスタムキーバインド、パッケージ、テーマを保持できる。

全員がカーソルを持ち、同時にタイプできる(出典:GitHub)

 ホストがポータルを共有しても、コードはローカルディスクに保存される。ホストがファイルを切り替えると、アクティブなタブの内容がゲストに送信され、ゲストはホストの作業についていくことが可能だ。

ホストがタブを切り替えると、ゲストの共同編集用タブの内容が切り替わる(出典:GitHub)

実装の詳細

衝突が発生しない共同編集

 Teletype for Atomは、ポータル参加者による共同編集で衝突が発生しないように、「CRDT(Conflict-free Replicated Data Types)」の理論的枠組みに基づいて設計されている。CRDTは基本的に、データが複数の操作で更新される場合に、それらの操作が異なる順序で適用されても、常に同じ表現となるデータ構造を指す。

ピア接続

 Teletype for Atomでは、共同編集者同士の接続に「WebRTC」チャンネルが採用されている。接続メタデータを交換する最初のハンドシェイクは、GitHubのサーバで行われるが、その後は全てのデータが暗号化されたピアツーピア接続でやりとりされる。これによってプライバシーが最大化され、レイテンシが最小化されるという。

エディタ非依存のクライアントライブラリ

 Teletype for Atomは、ユーザーインタフェースコンポーネントやAtom固有の統合コードを実装している。そのロジックの大部分は、「teletype-client」というエディタ非依存のライブラリに含まれている。teletype-clientはWebベースアプリケーションなどにも統合できるという。

今後の方向

 Teletype for Atomの長期的ビジョンには、異なるテキストエディタ間での共有サポートが含まれている。また将来的には、音声アプリケーションとの組み合わせや、Atom以外のアプリケーションとの画面共有も目指しているとしている。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。