JetBrainsのクロスプラットフォーム対応.NET IDE「Rider」誕生までの歴史とそのアーキテクチャ

こんにちは。JetBrains堀岡です。 「最近JetBrainsは.NET関連ツールに注力してないのでは?JetBrains Night Tokyoでもセッション無いし。」というご意見を頂きました。そんなことありません。実際のところJetBrainsの.NET系製品群はIntelliJ IDEAに次ぐ代表製品で、日本でも多くのお客様にご利用いただいております。つい先日、弊社Developer Adovocate(@cwoodruff、@maartenballiauw)によるRiderに関する英文記事がCODE Magazineで公開されました。せっかくなのでCODE Magazine 様から了承を頂き、英文記事の抄訳を作成しました。Riderをお使いのお客様や、これから使ってみたいと考えているお客様にRiderの設計思想やメリット、JetBrainsの.NET製品への継続的な取り組みをご理解頂くために参考にして頂ければ幸いです(ただし、かなりの長文です)。英語の原文で読みたい方は以下をご覧ください。 “This article originally appeared in CODE Magazine – Nov/Dec 2018: https://www.codemag.com/Article/1811091/Building-a-.NET-IDE-with-JetBrains-Rider” JetBrains Riderについて JetBrains Riderは.NET/Mono/.NET Core環境、およびASP.NET、ASP.NET Core、Xamarin、WPFなどのフレームワークを使用するテクノロジをサポートするクロスプラットフォーム(Windows, Linux, macOS)対応IDEです。Riderは、C#、VB.NET、F#、JavaScript、TypeScriptなどの多くの言語に対応しており、コンソールアプリケーション、ライブラリ、Unityゲーム、Xamarinモバイルアプリケーション、ASP.NET MVCの構築、及び、Angular/React/Vue.jsなどを用いたWebアプリケーション作成をサポートしています。 Riderには、.NET開発者にとって日々のコーディングを快適にし、品質の高いコードを書くために役立つ多くの機能があります。例えば、Riderは他のJetBrains IDEと同レベルの優れたコード補完、コード生成、リファクタリング、ナビゲーション、2,300を超えるコード検査(静的コード解析)機能を備えています。これらのコーディング支援機能に加えて、.NET開発者がIDEの基本機能として期待するような、デバッガ、単体テスト実行、(高速な)NuGetクライアント、データベースツール、WPF XAMLプレビューウィンドウ、バージョンコントロールシステムとの連携機能も備えています。さらに、Dockerとの連携やUnity Editorのような最新のテクノロジーにも対応しています。しかしながら、特筆すべきことは、これらの豊富な機能が全て備わっていても、Riderはメモリ効率が良く、高速で機敏に動作するということです。 Rider誕生までの歴史 Riderの技術とアーキテクチャの話に入る前に、その歴史について触れなければなりません。 2004年、JetBrainsはVisual StudioアドインReSharperのスタンドアロンアプリケーション版の作成を検討していました。 結果としてリリースされることはありませんでしたが完全に機能するプロトタイプが既に存在していました。 以下の図1がReSharper 2.0 … Continue reading JetBrainsのクロスプラットフォーム対応.NET IDE「Rider」誕生までの歴史とそのアーキテクチャ