Microsoft は Visual Studio 2022 for Mac の新たなプレビューをリリースし、「真にネイティブな macOS エクスペリエンス」を提供すると述べています。
Mac版は、Windows版と同様に、C# 10、F# 6.0などを含む新しい.NET 6.0 SDKを使った開発に必要です。そのため、リリースが遅れています。
「Visual Studio 2022 for Mac v17.0のGA版を2022年前半にリリースする予定です」と、プログラムマネージャーのジョーダン・マティセン氏はブログ投稿で述べています。マティセン氏は、今回の遅延は「アーキテクチャの大幅な変更」によるものであり、ユーザーインターフェースにおけるネイティブコードの増加が主な要因であると述べています。
昨日のバーチャル VS 2022 発表会でのプレゼンテーションで、マティセン氏は「私たちが以前使用していたクロスプラットフォーム ツールキットは、タブが違和感があったり、ちょっとしたコントロールがちょっとおかしかったりと、Mac らしくない操作感につながる可能性がありました」と話しました。
問題のフレームワークは、Mac の Cocoa API または Gtk (GNOME Toolkit) を Gtk# (C# バインディング) 経由でラップする mono/xwt であると思われます。この事実は、この IDE の背後にある歴史の一部を暗示しています。
そのルーツは.NETの黎明期にまで遡ります。2000年、開発者のMichael Kruger氏が.NETそのものを使って.NET Framework 1.0用のIDEを開発しようと決意したのです。彼はこのプロジェクトをSharpDevelopと名付けました。当初はWindowsフォームを使用していたため、Windows専用でしたが、MonoとGtk#に対応し、Windows、Mac、Linuxで動作するクロスプラットフォームのMonoDevelopへと進化しました。
MonoDevelopは、ミゲル・デ・イカザ氏のXamarinチームに引き継がれ、Xamarin Studioという商用版も開発されました。2016年初頭にMicrosoftがXamarinを買収した後、Xamarin StudioはVisual Studio for the Macへと進化し、2017年初頭のBuildイベントで初めてリリースされました。Xamarin Studioとは異なり、Visual Studio MacはMac専用で、現在はクローズドソースのIDEとなっています。
MonoフレームワークはVisual Studio Macの中核部分であり続ける
名前はさておき、オリジナルの VS Mac は Windows 版 Visual Studio とはかなり異なっていましたが、Microsoft はこの 2 つを統合するためにいくらか努力してきました。2019 ではアーキテクチャの大きな変更が行われ、Microsoft は当時、「Visual Studio for Mac のコード エディターは、Windows 版 Visual Studio と共通のコアとネイティブ macOS UI に基づいて構築された新しいエディターに完全に置き換えられました」と説明しました。
新リリースは、その作業の継続、そしておそらくは完成とも言えるものです。しかし、Mac版VS 2022 Preview 3をインストールした際に、最初にダウンロードされたものの一つが、Xamarinとその新しい派生版であるMAUI(マルチプラットフォームアプリUI)で現在も使用されているMonoフレームワークであることに気付きました。とはいえ、このビルドではMAUIのサポートはまだ行われておらず、これが実稼働環境への準備がいかに遠いかを示すもう一つの兆候です。リリースノートには、「このリリースは『公開』されたものではなく、実稼働コンピューターでの使用や実稼働コードの作成を目的としたものではありません」と記載されています。
Mac 用 Visual Studio 2022 のインストール オプション
VS Macは何に適しているのでしょうか?マティセン氏によると、「VS Macで取り組めるプロジェクトは主に3種類あり、.NET Webアプリケーション、Xamarinを使用したモバイルアプリケーション、そしてUnity用のゲーム開発スクリプトです」とのことです。インストーラーでは、.NET、Android、iOS、macOSがオプションとして提供されています。
重要な疑問は、VS Macとは異なり、既に開発者に広く使用されているより高性能なエディタとIDEがあるにもかかわらず、なぜMicrosoftはVS Macにこだわるのかということです。これはVisual Studio Codeであり、ほとんどの人が現在最も人気のあるコーディングツールだと考えています。
- .NET 6 LTSとVS 2022:マイクロソフトのオープンソースへの取り組みに対する懸念が続くことで、メジャーリリースが台無しに
- Angular 13が登場: Ivyが全盛、View EngineとIE11のサポートが削減
- 参考までに: WebAssembly にコンパイルされたコードには標準的なセキュリティ防御が欠けている可能性があります
- GitHub CEOがフォーク:ナット・フリードマン氏が今月退任、後任は.NET Hot Reloadの失敗を支えた幹部に報告
Windowsでは、VS Codeと並んでVisual Studioが存在することは理にかなっています。Visual StudioはWindowsのネイティブIDEであり、C++と.NET言語をサポートしています。MacのXcodeと同等の位置付けです。統合に向けた努力はいくつか行われていますが、VS Macは用途が限定されたWindows版Visual Studioとは大きく異なります。Xamarin開発には依然として必要ですが、ASP.NET Coreを使用したWeb開発においては、ネイティブJavaScriptツールを備えたVS Codeの方が優れていると言えるでしょう。例えば、ASP.NET Razorページのドキュメントには、Visual Studio Windows版、VS Code版、そしてVS Mac版のチュートリアルが掲載されており、「Visual Studio for Macのチュートリアルも近日中に公開予定です」と記載されている点は注目に値します。
この問題は、Visual Studioと競合する無料のVS Codeに関するMicrosoft社内の懸念に起因している可能性があります。最近、ホットリロード機能に関する問題が浮上し、この機能をVisual Studio専用にしようと試みられましたが、すぐに撤回されました。
VS Macがなければ、MicrosoftはVS Codeの.NET向けオープンソースツールへの投資を強化し、MAUIのサポートも追加する必要があったでしょう。これは.NETプラットフォームにとって素晴らしい動きですが、Visual Studioをプレミアム製品として維持するという考え方とは相容れないかもしれません。
.NET チームが VS Code 用の .NET ツールに時間をかけすぎないように積極的に奨励しているという噂を聞きますが、それが事実である限り、VS Mac は、その類似の 2 つと比較するとニッチなツールであるにもかかわらず、今後も必要とされるでしょう。®