マイクロソフト、Mac版Visual Studioのロードマップを解説。すでに.NET Core 3やDockerに対応、今後ターミナル機能の統合やBlazor WebAssembly対応など
マイクロソフトは2月24日、オンラインイベント「Visual Studio for Mac: Refresh();」を開催し、Mac版のVisual Studioである「Visual Studio for Mac」のロードマップなどを解説しました。
「Visual Studio for Mac」はもともとWindows用のVisual Studioの移植ではなく、MacでiOSやAndroidなどのアプリケーションを開発するツール「Xamarin Studio」をベースにした製品です。
そのためIntelliSenseを備えたコードエディタやGit対応、ビルドツールにMSBuildを搭載するなど、Visual Studioの基本的な機能を踏襲してはいましたが、Windows版Visual Studioの機能とは開きがありました。
しかし現在ではVisual Studioと同等のコードエディタを搭載し、最新のC# 8と.NET Core 3に対応。
Dockerコンテナの対応と、これを用いたLinuxアプリケーションのローカルデバッグ機能。Microsoft Azureのサーバレスコンピューティング基盤であるAzure Functions対応のアプリケーション開発など、急速に機能の充実を進めています。
本イベント「Visual Studio for Mac: Refresh();」では、このVisual Studio for Macの利点として、macOS上の仮想マシンでWindowsとWindows版Visual Studioを利用するよりも高速に動作し、バッテリー性能でも有利な点や、macOSネイティブなUXで利用できること。そして.NET Coreに最適化された統合開発環境であることなどが紹介されました。

さらに最新の.NET Core 3.1サポート、コンパイル基盤Roslynを用いた高度なリファクタリング、サーバサイドBlazorサポート、スキャッフォルドやテンプレートなどによる高い開発生産性の実現。

XamarinによるiOS、Android、macOSなどクロスプラットフォーム対応のネイティブアプリケーション開発への対応。

Unityとそれに対応したIntelliSenseやデバッガ、コード解析などによる高度なゲーム開発。

Docker機能搭載による、ワンクリックでのコンテナ化、Linuxアプリケーションのローカル開発、ローカルデバッグ、Azureへのデプロイ。
そしてクラウドアプリケーションの開発、Azure Functionsを用いたサーバレスアプリケーションの開発対応など、最新機能も紹介されました。

この1年で行われた新機能追加
特にこの約1年、Visual Studio for Macは急速にバージョンアップを重ね、進化してきました。
2019年6月のv8.1でIntelliSenseやワードラップ、グリフの表示などを改善した新しいネイティブなC#コードエディタを搭載。

2019年7月登場のv8.2で起動速度などを高速化。

2019年9月登場のv8.3で.NET Core 3.0とC#のサポートを開始。
これによりWindows版Visual Studioとの互換性や相互運用性も、より高いものとなりました。

2020年1月登場のv8.4はこの1年で最大のバージョンアップ。
.NET Core 3.1とServer-side Blazorなどがサポートされました。また、XAML Hot Reload for Xamarinによってコードを変更するとすぐに動作に反映されるようになり、開発サイクルがよりスピーディに回せるように。

Blazor WebAssembly対応やターミナル機能の統合など
そして来月、2020年3月登場予定のv8.5では、Azure Functions v3対応。認証付きSPAテンプレートの搭載など。

2020年5月登場予定のv8.6では、この月に正式版が登場予定のBlazor WebAssemblyをさっそくサポート。さらにターミナル機能の統合やgRPCサポートなども予定しています。

Blazor WebAssemblyとは、WebAssemblyで.NETランタイムを実装することにより、Webブラウザで上で通常の.NET対応のWebアプリケーションを実現するフレームワークです。
すでにサーバサイドで動作する「ASP.NET Core 3.0 Blazor」はリリースされており、Blazor WebAssemblyも5月に正式リリースされる予定です。
マイクロソフトはVisual Studio for Macのこれまでの改善によって、ハングアップを50%なくし、不安定な動作も25%削減するなど安定性を向上させた一方、コンテキストメニューやIntelliSenseのレスポンスも大きく改善させたとしています。

いずれ機能的にWindows版に追いつくはず
こうして急速に機能が充実しているVisual Studio for Macですが、AIによるコーディング支援機能の「IntelliCode」や、Visual Studioをネットワークで接続してリモートでペアプロミングを可能にするLive Shareなど、まだ実装されていない機能もあります。
参考:「IntelliCode」がさらに進化し、行全体を候補として提案。まるでAIとペアプロしているように
参考:[速報]「Visual Studio Live Share」発表。複数のプログラマがリアルタイムにコードの編集、ブレークポイント、デバッガ操作などを共有。Connect(); 2017
マイクロソフトはすでにWindowsにこだわらず、あらゆるコンピューティングにおいてマルチプラットフォーム化やオープン化に本気で取り組んでいることは、Windows 10におけるWSLによるLinux互換機能や、AzureにおけるLinuxへの取り組み、.NET Coreにおけるオープンソース化とマルチプラットフォーム化への取り組み、Visual Studio Codeにおける複数OSへの対応、SQL ServerにおけるLinuxのサポートなど、あらゆる側面に表れています。
Visual StudioもWindows専用の開発環境から脱却し、マルチプラットフォーム対応になるのは同社のこうした戦略からして必然といえ、まだ実装されていない機能もいずれ実装されていくはずです。
今後もVisual Studio for Macは積極的に機能追加と改善が続けられ、Windows版に並び、その上でMac版の強みも活かした開発環境になっていくことは間違いないでしょう。
関連記事
あわせて読みたい
マイクロソフト、パスワードを不要にするFIDO2をハイブリッドクラウド環境のAzure ADでも実現へ
≪前の記事
品質を犠牲にすることでソフトウェア開発のスピードは上がるのか? 和田卓人氏による 「質とスピード」(後編)。デブサミ2020