GitHubは、オープンソースエディタ「Atom」でチームメンバーと手軽にコードを共有し、共同編集できる「Teletype for Atom」のβ版をリリースした。
GitHubは2017年11月15日(米国時間)、オープンソースエディタ「Atom」でチームメンバーと手軽にコードを共有し、リアルタイムに共同編集できるパッケージ「Teletype for Atom」のβ版をリリースした。
Teletype for Atomを使えば、チームメンバーのリモートで行われるキー操作が自分のAtom画面に直接反映される。Atomで開ける任意のファイルを共有し、衝突なく、低レイテンシで共同編集が行えるという。
Teletype for Atomを利用するには、Atom 1.22以降が必要だ。インストールは、Atomの「Settings(設定)」ビューからか、コマンドラインで「apm install teletype」と入力して行う。インストール後、ステータスバー上の新しいコラボレーションメニューから、ローカルワークスペースに「ポータル」を開くことができるようになる。ポータルを開いたユーザーは、そのポータルのホストとなる。
次に、ホストはポータルの「ポータルID」をお好みのチャットサービスでチームメンバーに知らせる。
チームメンバーは、コラボレーションメニューから「Join a portal」をクリック。ポータルIDをフィールドに入力して「Join」をクリックすることでポータルにゲストとして参加できる。
ポータルに参加すると、ゲストのワークスペースに新しいタブが表示される。そのタブにホストのコード内容が表示され、共同編集ができる。ポータル参加者は、全員が「カーソル」を持ち、同時にタイプできる。共有はピクセルレベルではなく、キー操作レベルで行われるため、参加者はそれぞれのカスタムキーバインド、パッケージ、テーマを保持できる。
ホストがポータルを共有しても、コードはローカルディスクに保存される。ホストがファイルを切り替えると、アクティブなタブの内容がゲストに送信され、ゲストはホストの作業についていくことが可能だ。
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.