DUICUO

JetBrains はオープンソース プラグインを放棄し、Rust に対して措置を講じます。

執筆者:Qianshan

人々は長い間こう尋ねてきました。JetBrains は、IDEA、CLion、PyCharm、PhpStorm、GoLand、WebStorm など、非常に多くの統合開発環境 (IDE) をリリースしていますが、なぜそれらを 1 つの IDE に統合してすべての問題を解決できないのでしょうか?

JetBrainsには明らかに独自の配慮があります。JetBrainsは今日に至るまで、あらゆる言語に「ホーム」を提供するという製品戦略を堅持しています。

JetBrainsは最近、プログラミング言語の新興勢力であるRustに注目し、RustRoverという統合開発環境(IDE)をリリースしました。公式ウェブサイトによると、このIDEは現在早期アクセスプログラム中で、ユーザーは無料でダウンロードして使用し、フィードバックを提供することができます。

これまで、Rust専用に設計されたIDEがどのようなものになるのか想像するのは難しかったかもしれません。しかし今、RustRoverがその答えの一つを提供します。

1. プラグインだけでは不十分ですか?専用のIDEに頼る必要があるのでしょうか?

これまでJetBrainsはRust向けにIntelliJ Rustプラグインのみを提供していました。その他のRustプラグインには、Rust-analyzerとRLSがありました。Rustをサポートするテキストエディタはいくつかありますが、RustRoverはRust専用に設計された最初のIDEです。

IDEには通常、コードエディタ、デバッガ、コンパイラなど、開発者がソフトウェアの作成、テスト、デプロイを行うのに役立つ機能が含まれています。RustRoverの開発者アドボケートであるVitaly Bragilevsky氏は、専用IDEはプログラミング言語の成熟における重要なマイルストーンであると説明しています。

なぜこの時点でRustを選んだのでしょうか?海外メディアのインタビューで、ブラギレフスキー氏は次のように述べています。「以前はプラグインだけで十分だと考えていましたが、Rustコミュニティとそのエコシステムに変化が見られるようになりました。コミュニティの状況を見て、(スタンドアロンのRust IDEが)本当に必要だと確信しました。」

注目すべき傾向は、Rust コミュニティが拡大していることです。

JetBrainsの調査によると、調査対象となった開発者の56%が過去6ヶ月以内にRustの使用を開始しています。SlashDataの第23回年次開発者状況レポートによると、Rust開発者の推定数は280万人に達しています。また、この数字は過去2年間で3倍に増加しており、Rustは最も急速に成長している開発者コミュニティの一つとなっています。

現在の技術トレンドと比較的短い言語の歴史を考えると、Rustの潜在能力は有望です。こうした背景から、JetBrainsはRustに賭けることに決めました。

VS Codeとは異なり、JetBrainsは常に特定のプログラミング言語やテクノロジー向けに設計された専用IDEを提供してきました。例えば、WebStormはよく知られたJavaScript開発ツール、PyCharmはPythonをサポートするIDE、CLionはCおよびC++開発向けに設計されたクロスプラットフォームIDE、GoLandはGoをサポートするIDE、RubyMineはRubyおよびRails開発者向けのIDEです。

では、Rust 開発者向けのこの IDE の機能は何でしょうか?

II. Rust 専用に設計されており、プレビュー段階では IntelliJ IDEA Ultimate と互換性があります。

一部の開発者は、Rust用のIDEの作成は容易ではないと述べています。主な理由は2つあります。1つ目は、他の言語の多くの実行時問題はRustのコンパイル時に明らかにする必要があり、必然的にIDEのチェック負担が大きくなることです。2つ目は、言語によって構文が異なることです。Rustの場合、これは所有権とライフサイクルに直結します。

公式ウェブサイトによると、RustRoverは現在、Rust、Cargo、TOML、Web、データベース技術に加え、VCS統合を含むIntelliJ IDEAのすべての機能をサポートしています。主な機能は以下のとおりです。

コード作成の面では、RustRover は、コード補完、コード生成、リアルタイム分析とクイック修正、リアルタイム テンプレートなどの方法を通じてコーディング効率を向上させることができます。

テスト、実行、デバッグに関しては、個々のテスト、テストモジュール、またはプロジェクト内のすべてのテストを実行できます。失敗したテストでは関連コードにジャンプできるため、開発者は問題を見つけやすくなります。

ウェブアプリケーション開発では、組み込みのHTTPクライアントを使用してHTTPリクエストを送信し、レスポンスを分析できます。Rustはバックエンド言語ですが、RustRoverはフロントエンド技術とデータベースもサポートしており、フロントエンド開発とのシームレスな統合を実現します。

プロジェクト管理の面では、RustRoverはCargoと完全に統合されており、TOMLファイルの編集に役立つコードインサイトを提供します。開発者はIDE内でCargoコマンドを直接呼び出すことができます。

チームコラボレーションのために、リアルタイムコーディングとIDEから他のユーザーとの直接コミュニケーションをサポートします。GitおよびGitHubと連携し、コミットやプルリクエストの確認、ブランチの作成、コードの表示が可能です。

RustRoverは現在、Windows、Mac OS、Linuxで利用可能です。まだ早期アクセスプログラム段階なので、興味のある開発者は無料でお試しいただけます。安定版のリリース時期についてはまだ発表されていませんが、公式発表によると「製品のパブリックプレビューは少なくとも2024年9月まで継続される予定です」とのことです。

公開ロードマップがまだ公開されていないため、RustRoverが将来的にどのような機能を導入するのかは未だ不明です。さらに、JetBrainsは「プレビュー段階では、RustRoverプラグイン版はIntelliJ IDEA UltimateおよびCLionと互換性を持つ」と約束しています。正式リリース後の状況については不透明で、「リリース日が近づきましたら、CLionチームに連絡を取り、CLion向けRustプラグインの提供状況を確認します」としています。

III. オープンソースの Rust プラグインの放棄は、コミュニティからさまざまな反応を引き起こしました。

この新製品では、使いやすさに加え、価格もユーザーにとって重要な懸念事項です。JetBrainsの回答は「まだ研究段階」です。しかし、RustRoverは「他のIDEと同様に、サブスクリプション方式で販売される商用製品となり、その実際の価値を反映した適正な価格体系となる」と確信しています。

画像出典: https://www.jetbrains.com/rust/

注目すべきもう 1 つの点は、RustRover の出現により、既存のオープンソース Rust プラグインも影響を受けるということです。

PhpStormの開発者であるKirill Smelov氏は、「既存のプラグインは引き続きMarketplaceとGitHubで無料で利用できますが、クローズドソースであるRustRoverに注力していきます。既存のオープンソースプラグインについては、IDEの新しいバージョンとの互換性を維持するためにあらゆる努力をしますが、バグ修正や新機能の追加は行いません」と公に述べています。つまり、オープンソースプラグインは廃止され、JetBrainsによる公式サポートは終了したということです。

開発者たちは、RustRover に関するさまざまな開発に対して二極化した反応を示してきました。

Reddit の関連スレッドで、ある人が次のような感想を述べています。「RustRover を IntelliJ のプラグインとしてインストールできるようになることを心から願っています。複数の IDE ライセンスを購入する余裕はありませんし、複数の IDE を保守したくもありません。」

画像出典: Reddit


不満を表明した人の中には、それは単に金銭の問題ではないと主張する人もいた。

「プログラミング言語ごとにIDEが1つずつあるというのは、本当にひどい。Appleでさえそんなことはしていない。」「誰もIDEを無料にするべきだとは言っていない。私が言いたいのは、別のIDEは要らないということ。ただ、既存のIDEにプラグインがあればいい。消費者の視点から言えば、言語ごとにIDEが1つしかないというのはひどい。」

さらに、懸念を表明する声も上がっています。「リンク先のよくある質問では、プレビュー段階ではIDEA Ultimateと互換性があると書かれていますが、リリース後については明確に何も書かれていません。」

しかし、RustRoverの登場を支持し、歓迎する開発者も少なくありません。その理由は主に以下の点に集約されます。

1. IntelliJにすべてを詰め込む必要はありません。特定の言語に特化した個別のIDEを使用することをお勧めします。

2. 言語によってエコシステムは大きく異なります。IDEは単なるテキストエディタではありません。

3. プロフェッショナルにとって価格設定は非常にリーズナブルです。プロのソフトウェア開発者でない場合は、趣味で開発する人向けのツールもあります。

4. JetBrainsに投資する意思があります。製品の品質とアフターサービスは素晴らしく、多くの時間を節約でき、費用対効果も非常に高いです。

IV. VS Code ですか、それとも JetBrains ですか?

論争は続いている。JetBrainsの決断の成否は、RustRoverが正式にリリースされて初めて明らかになるかもしれない。しかし、オープンソースで無料のVS Codeの影響を考えると、JetBrainsが今日まで生き残ってきたのは、単なる幸運以上のものであることは明らかだ。

多くの人にとって、VS Codeの最大の特徴は完全に無料であること、そして様々な開発ツールやデバッグプラグインをオンラインでインストールできることです。VS Codeではあらゆるプログラミング言語を簡単に素早く起動・実行できるため、「エディター」と呼ばれることが多いです。

比較すると、JetBrainsは機能面ではより標準的でプロフェッショナルですが、ユーザー、特に初心者にとっては無理のある初期設定が多く含まれているようです。異なるユースケース向けに設計された2つのIDEを切り替えるには、必然的に学習コストがかかります。

VS Codeは非常に軽量で、高度な設定と拡張性を備えていますが、詳細な機能が不足しており、より高度な機能を提供するにはサードパーティの拡張機能に依存しています。JetBrainsは特定の言語向けに明示的に構築されたIDEを開発しており、チームはその言語と関連するすべてのワークフローのサポートに多大な投資を行っていますが、拡張性は低く、サポートされる言語自体が高度な設定が可能です。

VSCodeは新世代のプログラマーの間で非常に人気が高まっています。しかし、JetBrainsにも依然として熱心なファンがいます。昨年、Blanklyのリードエンジニアは5年間VSCodeを使用していましたが、JetBrainsエコシステムに移行し、その理由を説明する記事まで執筆しました。

まず、JetBrainsはコード検査とリファクタリングのための優れたリンティングツールと副作用のないリファクタリング機能を提供しています。「コードの分解とリファクタリングがあなたにとって、そしてあなたのワークフローにとって重要であるなら、JetBrainsはより良い選択肢です。」

さらに、デバッグに関してはJetBrainsがVS Codeよりもわずかに優れています。「これは、JetBrainsが変数宣言の横に変数値を直接表示できるため、多数の変数を追跡する際に管理が容易になるからです。」

Git 統合に関しては、それぞれにメリットがあり、あくまで個人の好みの問題です。「例えば、マージの競合を解決する際、VS Code のように競合ファイルを 1 つのファイルにまとめて表示するよりも、JetBrains のように競合ファイルを個別に表示する方が好みです。」

最後に、チームコラボレーションに関してですが、JetBrainsのすべてのIDEは、コード共有とリアルタイムコラボレーションのための豊富なオプションを提供しています。Code With Me機能を使用すると、IDE内で他のユーザーのプロジェクトを直接表示し、開発環境を利用できます。

結論として、JetBrainsは無料ではありませんが、その機能は独自の価値を提供します。例えば、IntelliJ IDEA Ultimateは、昨年10月に発効した新しいポリシーにより、初年度は169ドルかかります。必要に応じて検討する価値はあります。

参考リンク:

https://www.jetbrains.com/rust/

https://thenewstack.io/dedicated-ide-for-rust-released-by-jetbrains/

https://www.reddit.com/r/programming/comments/16htf7m/jetbrains_rustrover/

https://blankly.finance/vscode-vs-jetbrains/