Visual Studio: その概要とモバイルアプリ開発方法

著者: IT Sectr 公開日: 2026-02-12 読了時間: 10 分

Visual Studio は、Xamarinおよび.NET MAUIを通じたモバイルアプリ開発をサポートするMicrosoftの統合開発環境です。IDEには、C#/F#/VB.NETエディタ、デバッガ、プロファイラ、XAMLデザイナ、Android/iOSエミュレータ、Azure DevOps統合が含まれます。Microsoft.comのVisual Studio — Community、Professional、Enterpriseエディションのポータル。

主要ポイント

  • Visual Studio — Xamarinおよび.NET MAUIによるクロスプラットフォームモバイル開発のためのMicrosoft IDE
  • .NET MAUI — Android、iOS、Windows、macOS向けの単一プロジェクトを備えたXamarin.Formsの後継
  • XAML Hot Reload — リコンパイルなしで実行中のアプリケーションにリアルタイムUI変更
  • iOS Remote Simulator — Mac build hostへの接続を介してVisual StudioからiOSアプリケーションを実行
  • IntelliCode — コンテキストとベストプラクティスに基づくC#オートコンプリートのためのAIアシスタント

Visual Studioとは?

Visual Studio は、1997年にリリースされたMicrosoftのフラッグシップIDEです。モバイル開発に関して、Visual Studioは2つの主要フレームワークを提供します:Xamarin(レガシー、2028年までサポート)と.NET MAUI(現行、2021年の.NET 6以降)。IDEはCommunity(小規模チーム向け無料)、Professional、Enterpriseエディションで利用可能です。

現在のバージョンは Visual Studio 2025(v18.0)で、.NET 10 SDKを搭載しています。IDEはすべてのプラットフォームをサポート:Android(エミュレータ+実機)、iOS(Mac build host経由)、Windows(ネイティブデバッグ)、macOS(ParallelsまたはMac Agent経由)。Stack Overflow 2025によると、.NETスタックで作業するモバイル開発者の32%がVisual Studioを使用しています。

VS Mobileの主な機能: SDKスタイル(MSBuild)の.sln/.csproj形式のプロジェクト、NuGetによるパッケージ管理、XAMLデザイナーによるビジュアルUI編集、IntelliCode(GPT-4ベースのAIコード補完)、リモートペアプログラミングのためのLive Share。

.NET MAUI: アーキテクチャとプロジェクト

.NET MAUI(Multi-platform App UI)は、単一のC#コードベースからネイティブUIを作成するためのMicrosoftフレームワークです。Xamarin.Formsとは異なり、MAUIはAndroid/iOSの個別プロジェクトではなく、すべてのプラットフォームに単一のプロジェクトを使用します。リソースはPlatforms/Android、Platforms/iOS、Platforms/Windowsフォルダに整理されます。

xml
<!-- MainPage.xaml — .NET MAUI UI —>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="MyApp.MainPage">
    <VerticalStackLayout Spacing="12" Padding="16">
        <Label Text="Hello, .NET MAUI!"
               FontSize="24"
               HorizontalOptions="Center" />
        <Button Text="Load Data"
                Clicked="OnLoadClicked"
                BackgroundColor="#512BD4" />
        <CollectionView x:Name="ItemsList" />
    </VerticalStackLayout>
</ContentPage>

MAUIのMVVMとDI: フレームワークには、組み込みDIコンテナ(Microsoft.Extensions.DependencyInjection)、ナビゲーション用Shell(TabBar、Flyout、Routing)、INotifyPropertyChanged生成用のCommunityToolkit.Mvvmが含まれています。BindableLayoutは、BindableLayout.ItemsSourceを介して非ItemsView要素へのデータバインディングをサポートします。

csharp
// MainPage.xaml.cs — code-behind with DI
public partial class MainPage : ContentPage
{
    private readonly IApiService _api;
    
    public MainPage(IApiService api)
    {
        InitializeComponent();
        _api = api;
    }
    
    private async void OnLoadClicked(object sender, EventArgs e)
    {
        var items = await _api.GetItemsAsync();
        ItemsList.ItemsSource = items;
    }
}

Xamarin.Essentials → MAUI Essentials: ネイティブAPIへのアクセス:位置情報、加速度センサー、ファイルシステム、セキュアストレージ(SecureStorage)、生体認証、バイブレーション、電話発信。APIは共有C#コードから呼び出されます — MAUI自体がそれらをAndroid(Java/Kotlinバインディング)とiOS(Objective-C/Swiftバインディング)に変換します。

Xamarin: レガシープロジェクトとForms

Xamarin は.NET MAUIの前身で、2011年にリリースされ、2016年にMicrosoftに買収されました。Xamarinは個別のプロジェクトを使用します:Xamarin.Android(C#+Androidバインディング)、Xamarin.iOS(C#+iOSバインディング)、Xamarin.Forms(XAMLによる共有UI)。Microsoftは2023年にXamarin SDKを非推奨と宣言しましたが、サポートは2028年5月まで継続されます。

XamarinからMAUIへの移行 — .NET Upgrade Assistantによる自動化プロセス。主な変更点:旧スタイルではなく.csproj SDKスタイル、個別ではなく単一プロジェクト、NavigationPageではなくShell、UWPではなくWinUI。Microsoftは、Xamarin.Forms → .NET MAUIの移行ガイドを、ステップバイステップの手順と互換性アナライザとともに提供しています。

Xamarin.Android vs Xamarin.iOS はアーキテクチャが異なります:Xamarin.AndroidはJavaコードを呼び出すためにJNI Bridgeを使用し、Xamarin.iOSはC#をネイティブARMにAhead-of-Time(AOT)コンパイルします。Xamarin.iOSはJITをサポートしません — Appleの制限により、すべてのiOSアプリケーションはAOTコンパイルを受けます。

XAMLデザイナーとHot Reload

XAMLデザイナー Visual StudioのXAMLインターフェース用ビジュアルエディタで、Toolboxパネル(コンポーネント)、Properties(選択要素のプロパティ)、Document Outline(要素ツリー)を備えています。デザイナーはデータバインディングプレビュー(デザイン時データ用のd:DataContext)とさまざまなデザインテーマをサポートします。

XAML Hot Reload — アプリケーションを停止せずにXAMLコードを変更。Hot Reloadは実行中のエミュレータまたはデバイス上のUIを数秒で更新します。Visual Studio 2025では、Hot ReloadはすべてのMAUI要素をサポート:ContentPage、ContentView、ResourceDictionary、Styles、DataTemplates。C# code-behindについては、.NET Hot Reloadが利用可能です(再起動なしのメソッド変更)。

Live Visual Tree — 実行中のUIインスペクタ:要素の階層、そのプロパティ、現在の状態を表示します。Hot Reloadと組み合わせることで、Live Visual Treeは実行時に要素プロパティを変更し、デバイス画面に即座に結果を表示できます。

Mac build hostによるiOSビルド

Visual StudioでのiOS開発 には、Mac build host — XcodeとApple SDKを搭載したmacOSコンピュータへの接続が必要です。Visual StudioはSSH経由でMac Agentに接続し、ソースコードを送信し、MacがiOSバイナリをコンパイルして結果を返します。Mac build hostがなければ、Visual StudioでのiOSプロジェクトのコンパイル自体が不可能です。

Mac build hostのセットアップ: macOSにXcodeとVisual Studio for Mac Agentをインストールし、システム設定でリモートログインを有効にし、Visual StudioでTools → iOS → Pair to Macからペアリングします。クラウドビルドにはMacStadiumまたはMacinCloudを使用できます。Microsoft Azure PipelinesもmacOSホステッドエージェントをサポートしています。

Visual StudioのiOSシミュレータ はMac上で実行され、Remote Simulatorを介してWindowsにストリーミングされます。Visual Studio 2025は、Mac上のXcode 16 Simulatorを使用して、iOSエミュレータをWindowsデスクトップに直接表示します。

Visual StudioのAndroidツール

Android SDK Manager Visual Studioで、Android SDK、build-tools、プラットフォーム(API 34、35、36)、エミュレータシステムイメージのインストールを管理します。Visual StudioはAndroidプロジェクトを初めて開くときに、必要なコンポーネントを自動的にダウンロードします。代わりに、インストール済みのAndroid Studio SDKを使用することもできます。

Android Emulator はVisual Studioに組み込まれています:Debug → Start Without Debuggingからエミュレータを起動し、リストからAVDを選択し、ブレークポイントでデバッグし、Android Profilerでプロファイリングします。Visual Studioは高速エミュレーションのためにHyper-V(Windows 11)とWSL2をサポートしています。Android Debug Bridge(ADB)はDeveloper PowerShellコマンドラインから利用可能です。

Google Play Services はNuGet(Xamarin.GooglePlayServices.*またはMAUI.GooglePlayServices.*)を介して接続されます。Visual StudioはFirebaseとMaps用のGoogle Services JSON/XMLを自動的に構成します。IntelliCodeはプロジェクトの.NET TFMに基づいて正しいusingディレクティブとパッケージバージョンを提案します。

よくある質問

.NET MAUIはXamarin.Formsとどう違うのですか?

.NET MAUI はXamarin.Formsの進化版で、単一プロジェクト、組み込みDI、Shell、WinUIサポート、現代的なSDKスタイルの.csprojを備えています。Xamarin.Formsはプラットフォームごとに個別のプロジェクトが必要で、Windows 11をネイティブサポートしていません。MAUIは.NET 8/10 SDKのおかげでコンパイルも高速です。

Visual StudioでKotlin/Swiftコードを使用できますか?

はい、Native ReferencesBinding Projects を介して可能です。Androidの場合 — Xamarin/MAUI Binding Library(.jar → .dll)。iOSの場合 — .xcframework → Static Library Binding。Kotlin/SwiftライブラリはC#プロキシクラスにラップされます。.NET MAUIはPlatforms/Android/*.javaまたはPlatforms/iOS/*.swiftフォルダを介してプラットフォーム固有のコードをサポートします。

Xamarinプロジェクトを.NET MAUIに移行するには?

Visual Studioで .NET Upgrade Assistant を使用:Project → Upgrade。ツールは.csproj、XAML名前空間(Xamarin.Forms → MAUI)を変換し、非推奨APIを置き換えます。個別のXamarin.Android/iOSプロジェクトの場合は — 最初にXamarin.Formsに統合し、次に移行します。Microsoftは平均的なプロジェクトの移行期間を2〜4週間と見積もっています。

Visual Studio 2025はwatchOSとtvOSの開発をサポートしていますか?

はい、.NET MAUI は追加のTarget Framework Monikers(TFM)を介してwatchOSとtvOSをサポートしています。watchOSの場合、watchOS互換要素(WKInterfaceLabelなど)を使用したXAMLマークアップと、XcodeにtvOS/watchOS SDKを備えたMac build hostが必須です。

C#モバイル開発におけるVisual Studioの代替手段は?

主な代替手段:Visual Studio Code + C# Dev Kit(軽量版、XAMLデザイナーなし)、JetBrains Rider(MAUI対応のクロスプラットフォームIDE)、Rider + Unity(ゲーム向け)。Visual Studio for Macが2025年に終了したため、RiderはmacOSの.NET開発者の間で人気があります。

まとめ

  • Visual Studio 2025 — モバイル開発のための.NET 10、IntelliCode、XAML Hot Reloadを備えたMicrosoft IDE
  • .NET MAUI — ShellナビゲーションとDIを備えたAndroid、iOS、Windows、macOS向け単一プロジェクト
  • Xamarin — 個別プロジェクトのレガシーフレームワーク、2028年までサポート
  • Mac build host — iOSビルドに必須、Xcodeを搭載したmacOSにSSH接続
  • XAML Hot Reload — リコンパイルなしで実行中のデバイス/エミュレータのUIを変更
  • IntelliCode — プロジェクトコンテキストとベストプラクティスに基づくC#のAI自動補完
  • Google Play + Firebase Services — 自動構成付きNuGetによる統合

ターンキー方式のモバイルアプリケーションを開発します

IT Sectrは2017年からスタートアップや企業向けにiOS・Androidアプリケーションを開発しています。私たちがご相談に乗り、最適なソリューションをご提案します。

プロジェクトについて相談

こちらもお読みください