個人的なメモ

Tomohiro Suzuki @hiro128_777 のブログです。Xamarin に関する事を中心に書いています。 Microsoft MVP for Development Technologies 2017- 本ブログと所属組織の公式見解は関係ございません。

Visual Studio 2022 for Mac Preview 1 がリリースされましたので状況を確認してみました。

.NET 6 の GA まであと1ヶ月ちょっとのタイミングでようやく、Visual Studio 2022 for Mac Preview 1 がリリースされました。
devblogs.microsoft.com
 

UI が ネイティブの macOS UI で書き直されました。

これが Visual Studio 2022 for Mac の一番大きなトピックです。この件に工数がかかってしまい、他の件は手がまわりきらなかった感があります。見た目の違いは下記の通りです。色味が若干変わっており、視認性が良くなっています。
 
Xamarin の創設者 @migueldeicaza によると、Gtk+ から AppKit に書き直され C# / Xamarin.Mac で開発されているようです。


 

Visual Studio 2022 Visual Studio 2019
f:id:hiro128:20211003155331p:plain f:id:hiro128:20211003155724p:plain

 
その他、クラッシュの軽減とレスポンスが改善しているとのことです。

  • クラッシュの軽減については、長時間使用していないので体感できませんでした。
  • レスポンスの改善については、MacBook Air (M1, 2020) 上で大きな差ではないですが確かにもたつかなくなったという感覚はあります。

 
 

Windows 版に準じた Git の UI が適用されました

自分は、Git の操作はコマンドで行っているので、実際の画面を見てみてもよくわかりませんでしたが、Git のUI が Windows 版に近づいたそうです。確かにコードの変更箇所は見やすくなりました。
 
 

.NET 6 と C#10 への対応

例えば、Visual Studio 2019 for Mac では、.NET 6 RC1 を導入してもエラーが出てしまっていた以下の Minimal API のサンプルが動作するようになりました。
github.com
 

Visual Studio 2022 Visual Studio 2019
f:id:hiro128:20211003163745p:plain f:id:hiro128:20211003163809p:plain

 
 

SDK スタイルの Xamarin プロジェクトはまだ利用できません

下記のように、公式ブログに記載がある通り、SDK スタイルの iOS, Android プロジェクトはサポートされていません。.
 

Visual Studio for Mac continues to support web and cloud development with .NET Core 3.1 and later, mobile dev with Xamarin Traditional projects, and game development using Unity.

 
.NET 6 GA まであと1ヶ月強という状況と後述する MAUI の GA の情報から予想するに .NET 6 GA のタイミングでは、.NET 6 の iOS, Android のワークロードはサポートされず、これまでの非 SDK スタイルの従来の Xamarin.iOS, Xamarin.Android プロジェクトのサポートに留まる可能性が高そうですが、なんとかリリースされることを期待したい思いです。
 
なお、試しに既存の非 SDK スタイルの Xamarin.iOS プロジェクトを開いて、編集、デバッグしてみましたが、問題なく利用できました。
 
したがって、net6.0-android, net6.0-ios といった TFM が利用できるのも、もう少し先になりそうです。
 
 

.NET MAUI の GA は 2022 Q2 に延期されました。

2020年5月の公式ブログでは、以下のように

  • 2020年 Q4 から 2021年 Q3 までプレビュー
  • RC 2021年9月
  • GA 2021年11月

という予定でしたが 2022 Q2 延期になったようです。
devblogs.microsoft.com
 
 

まとめ

Preview 1 の状況をまとめると以下のような状況です。(実際に動作確認した結果です)

ワークロード 対応状況
コンソールアプリ
ASP.NET
Xamarin.iOS
Xamarin.Android
.NET 6 iOS
.NET 6 Android
.NET 6 Mac Catalyst
MAUI

 
まだ Preview 1 ですのでこれから新たな機能がリリースされると思います。次のプレビューを期待して待ちます。