5月の群れは干し草の山ほどの価値がある? JetBrains Code With Me 共同プログラミングツールがリリース

Table of Contents

5月の群れは干し草の山ほどの価値がある? JetBrains Code With Me 共同プログラミングツールがリリース

JetBrains は本日、リモート共同コーディングをサポートするプラグインである、以前はプレビュー版だった Code With Me と、Java および Ruby IDE のアップデートをリリースしました。

JetBrainsのIDEはすべてJava IDEであるIDEAをベースにしていますが、その範囲は広く、Android(JavaおよびKotlin)、Python、JavaScript、PHP、C#、C/C++、Rubyなどへの適応が含まれています。GoogleのAndroid Studioは、IDEAの無料のコミュニティエディションをベースにしています。

Code With Meは、リモート接続を使用して2人以上の開発者が同じIDEで作業できるツールです。JetBrainsはMicrosoftの無料版Visual Studio CodeやVisual Studioと競合しており、この新機能はMicrosoftのLive Shareに似ています。Live Shareは共同コーディング、デバッグ、音声通話をサポートし、Webクライアントも準備中です。

Code With Me 招待の権限を設定する

Code With Me 招待の権限を設定する

IDEA 機能が Microsoft の Live Share とどう違うのかと尋ねたところ、JetBrains は「Code With Me の利点は、ビデオ通話の組み込みサポート、オンプレミス ソリューションを必要とする顧客が利用できること、そしてリファクタリング機能があることです」と回答しました。

JetBrains機能はIDEAのプラグインで、3つのエディションがあります。無料のコミュニティ版では、最大3人のゲストと30分のセッションが可能です。JetBrains IDEのサブスクリプション版では、セッション数に制限はありません。ただし、技術的な制限により、参加者は最大20名、アクティブにコードを編集できるのは最大5名までとなります。エンタープライズ版は、セキュリティ保護のためオンプレミスで動作します。

同社によれば、現在 JetBrains IDE の「大部分」はサポートされているが、Android Studio と C# 開発ツール Rider の機能はまだ開発中である。

Code With Meにはチャット、音声、ビデオ機能が組み込まれています

Code With Meにはチャット、音声、ビデオ機能が組み込まれています

仕組み

Code With Meセッションは、IDEAとプラグインをインストールした開発者によって開始されます。ダイアログには、読み取り専用、リモート開発者向けのファイル編集、フルアクセス、カスタム権限など、さまざまなオプションが表示されます。追加の権限には、ターミナルへのアクセスとアプリケーションの実行が含まれます。また、セッションの一環として、音声会議やビデオ会議に参加するためのオプションもあります。

このツールは招待リンクを生成し、開発者はそれを参加者に送信します。リンクを受け取った参加者は、Code With Me Guestクライアントのダウンロードを求められます。JetBrains IDEを事前にインストールする必要はありません。

Code With Me の招待を受けた受信者は、クライアントをダウンロードして実行するように求められます。その後、オプションの安全性チェックとしてコードが生成されます。

Code With Meの招待を受けた人はクライアントをダウンロードして実行するように求められ、その後オプションの安全性チェックとしてコードが生成されます。

クライアントを実行するとセキュリティコードが生成され、ホスト開発者はこのコードを含む確認を求められます。これにより、接続しているユーザーが誰であるかを確認できます。MicrosoftのLive Shareとは異なり、ゲストはサインインする必要はありません。

Code With Me のユースケースには、ペアプログラミング、同社が「チーム全体で同時にコードを修正できる」と述べている「スウォーム」プログラミング、ガイドとメンタリング、技術面接などが含まれます。

機能には、同時編集、他の参加者がコードを編集している場所の追跡、ホストのコードナビゲーションがゲストに複製されるようにする同期、ビデオ/オーディオ通話などがあります。

同社はFAQで、「JetBrainsのサーバーをどのように、そしてどのようなデータが通過するのか?」という質問に答えています。その答えは、共有されるすべてのデータであるようです。「ローカルIPアドレス、プロジェクト名、ユーザー名は、JetBrainsがホストとゲスト間のセッションを確立するために使用されるため、暗号化されずに共有されます。」

接続されると、新しい「オープンソース分散プロトコル」がTLS 1.3で通信を暗号化するために使用されます。FAQには、「JetBrainsのサーバーを経由したくない場合は、オンプレミスサーバーを設定できます」と記載されています。ただし、JetBrainsは、ソースコードなどのデータは「エンドツーエンドで暗号化された状態で[JetBrainsの]サーバーを通過する」ため、アクセスはしないとしています。

ログファイルには、ホストとゲストの両方によって作成されたすべてのアクティビティが含まれます。さらに、同社は「アクティブなセッション中にホストプロジェクトのさまざまな部分にアクセスしたり、コードを実行したり、ターミナルツールウィンドウで作業したりすることに制限はありません」と述べています。

サポートされるプラットフォームは、IntelliJ IDE と同じです (Windows、Mac、Linux)。

新鮮なアイデア

JetBrainsはIDEAの2021.1アップデートもリリースしました。このアップデートでは、Gitベースのソースコード管理、CI/CD自動化、プロジェクト管理機能を備えたチーム開発プラットフォームであるSpaceとの統合が強化されています。また、Javaプロジェクト向けのWSL 2(Windows Subsystem for Linux)もサポートされています。Ruby IDEであるRubyMineは、RBS(Ruby Type Signature Language)のサポートを追加しました。Rubyは動的型付け言語ですが、開発者はRBSを使用することで静的型定義を追加できます。RBSはRuby 3でリリースされましたが、JetBrainsによると、改善されたコード補完機能はRubyの古いバージョンでも動作するとのことです。これはRubyMineにとって大きなリリースであり、テストの改善やHTMLプレビューの組み込みも行われています。

2人の開発者が協力してコードを作成するペアプログラミングは、アジャイル開発手法の一部ですが、ThoughtWorksのコンサルタントであるビルギッタ・ベッケラー氏によると、その導入は「まだら模様」です。その理由は「そのメリットがすぐには明らかではない」ためです。それでも彼女は、ペアプログラミングを「協調的なチームワークに不可欠」だと考えています。

たとえ意見が異なる人であっても、開発上の難しい問題について第 2 の意見を得るのに Code With Me や Live Share などの機能が便利だと感じるかもしれません。®

Discover More