Visual Studio, Xamarin ve .NET MAUI aracılığıyla mobil uygulama oluşturmayı destekleyen Microsoft'un entegre geliştirme ortamıdır. IDE, C#/F#/VB.NET düzenleyicisi, hata ayıklayıcı, profil oluşturucu, XAML Tasarımcısı, Android/iOS öykünücüleri ve Azure DevOps entegrasyonunu içerir. Microsoft.com'da Visual Studio — Community, Professional ve Enterprise sürümleri için portal.
Önemli Noktalar
Visual Studio, 1997'de piyasaya sürülen Microsoft'un amiral gemisi IDE'sidir. Mobil geliştirme için Visual Studio iki ana framework sağlar: Xamarin (eski, 2028'e kadar desteklenir) ve .NET MAUI (güncel, 2021'de .NET 6 ile başlayan). IDE, Community (küçük ekipler için ücretsiz), Professional ve Enterprise sürümlerinde mevcuttur.
Mevcut sürüm, .NET 10 SDK ile Visual Studio 2025'tir (v18.0). IDE tüm platformları destekler: Android (öykünücü + fiziksel cihazlar), iOS (Mac build host aracılığıyla), Windows (yerel hata ayıklama), macOS (Parallels veya Mac Agent aracılığıyla). Stack Overflow 2025'e göre, .NET yığınıyla çalışan mobil geliştiricilerin %32'si Visual Studio kullanmaktadır.
VS Mobile'ın temel özellikleri: SDK stili (MSBuild) ile .sln/.csproj formatında projeler, NuGet ile paket yönetimi, görsel UI düzenleme için XAML Designer, IntelliCode (GPT-4 tabanlı AI kod tamamlama), uzaktan eşli programlama için Live Share.
.NET MAUI (Multi-platform App UI), tek bir C# kod tabanından yerel UI'lar oluşturmak için bir Microsoft framework'üdür. Xamarin.Forms'un aksine MAUI, ayrı Android/iOS projeleri yerine tüm platformlar için tek bir proje kullanır. Kaynaklar Platforms/Android, Platforms/iOS, Platforms/Windows klasörlerinde düzenlenir.
<!-- 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'de MVVM ve DI: framework, yerleşik DI kapsayıcısı (Microsoft.Extensions.DependencyInjection), gezinme için Shell (TabBar, Flyout, Routing) ve INotifyPropertyChanged oluşturma için CommunityToolkit.Mvvm içerir. BindableLayout, BindableLayout.ItemsSource aracılığıyla ItemsView olmayan öğelere veri bağlamayı destekler.
// 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: yerel API'lere erişim: coğrafi konum, ivmeölçer, dosya sistemi, güvenli depolama (SecureStorage), biyometri, titreşim, arama yapma. API'ler paylaşılan C# kodundan çağrılır — MAUI bunları Android (Java/Kotlin bağlamaları) ve iOS (Objective-C/Swift bağlamaları) olarak çevirir.
Xamarin, .NET MAUI'nin öncülüdür, 2011'de piyasaya sürülmüş ve 2016'da Microsoft tarafından satın alınmıştır. Xamarin ayrı projeler kullanır: Xamarin.Android (C# + Android bağlamaları), Xamarin.iOS (C# + iOS bağlamaları) ve Xamarin.Forms (XAML ile paylaşılan UI). Microsoft, 2023'te Xamarin SDK'yı kullanımdan kaldırıldı olarak ilan etti, ancak destek Mayıs 2028'e kadar devam ediyor.
Xamarin'den MAUI'ye geçiş — .NET Upgrade Assistant aracılığıyla otomatikleştirilmiş bir süreçtir. Ana değişiklikler: eski stil yerine .csproj SDK stili, ayrı yerine tek proje, NavigationPage yerine Shell, UWP yerine WinUI. Microsoft, Xamarin.Forms → .NET MAUI için adım adım talimatlar ve uyumluluk analizörü ile bir geçiş kılavuzu sağlar.
Xamarin.Android vs Xamarin.iOS mimari olarak farklılık gösterir: Xamarin.Android, Java kodunu çağırmak için JNI Bridge kullanır, Xamarin.iOS ise C#'ı yerel ARM'ye Ahead-of-Time (AOT) derlemesi kullanır. Xamarin.iOS, JIT'i desteklemez — Apple kısıtlamaları nedeniyle tüm iOS uygulamaları AOT derlemesinden geçer.
XAML Designer Visual Studio'da, Toolbox paneli (bileşenler), Properties (seçili öğenin özellikleri) ve Document Outline (öğe ağacı) ile XAML arayüzleri için görsel bir düzenleyicidir. Tasarımcı, Veri Bağlama önizlemesini (tasarım zamanı verileri için d:DataContext) ve farklı tasarım temalarını destekler.
XAML Hot Reload — uygulamayı durdurmadan XAML kodunu değiştirme. Hot Reload, çalışan bir öykünücü veya cihazda UI'yı saniyeler içinde günceller. Visual Studio 2025'te Hot Reload tüm MAUI öğelerini destekler: ContentPage, ContentView, ResourceDictionary, Styles, DataTemplates. C# code-behind için .NET Hot Reload mevcuttur (yeniden başlatma olmadan yöntem değişiklikleri).
Live Visual Tree — çalışan bir UI denetleyicisi: öğe hiyerarşisini, özelliklerini ve mevcut durumu gösterir. Hot Reload ile birleştirildiğinde, Live Visual Tree çalışma zamanında öğe özelliklerini değiştirmenize ve sonucu cihaz ekranında hemen görmenize olanak tanır.
Visual Studio'da iOS geliştirme, bir Mac build host'a — Xcode ve Apple SDK'lı bir macOS bilgisayara — bağlantı gerektirir. Visual Studio, SSH aracılığıyla Mac Agent'a bağlanır, kaynak kodu gönderir, Mac iOS ikili dosyasını derler ve sonucu döndürür. Mac build host olmadan, Visual Studio'da iOS projelerinin derlenmesi bile imkansızdır.
Mac build host kurulumu: macOS'a Xcode ve Visual Studio for Mac Agent yükleyin, Sistem Ayarları'nda Uzaktan Oturum Açma'yı etkinleştirin, Visual Studio'da Tools → iOS → Pair to Mac aracılığıyla eşleştirin. Bulut derlemeleri için MacStadium veya MacinCloud kullanılabilir. Microsoft Azure Pipelines ayrıca macOS barındırılan aracıları da destekler.
Visual Studio'dan iOS Simulator Mac'te çalışır ve Remote Simulator aracılığıyla Windows'a aktarılır. Visual Studio 2025, iOS öykünücüsünü doğrudan Windows masaüstünde görüntülemek için Mac'te Xcode 16 Simulator'u kullanır.
Android SDK Manager Visual Studio'da Android SDK, build-tools, platformlar (API 34, 35, 36) ve öykünücü sistem görüntülerinin kurulumunu yönetir. Visual Studio, bir Android projesini ilk açtığınızda gerekli bileşenleri otomatik olarak indirir. Alternatif olarak, yüklü bir Android Studio SDK kullanabilirsiniz.
Android Emulator Visual Studio'ya entegre edilmiştir: Debug → Start Without Debugging'den öykünücüyü başlatın, listeden bir AVD seçin, kesme noktalarıyla hata ayıklayın, Android Profiler ile profil oluşturun. Visual Studio, daha hızlı öykünme için Hyper-V (Windows 11) ve WSL2'yi destekler. Android Debug Bridge (ADB), Developer PowerShell komut satırı aracılığıyla kullanılabilir.
Google Play Services, NuGet (Xamarin.GooglePlayServices.* veya MAUI.GooglePlayServices.*) aracılığıyla bağlanır. Visual Studio, Firebase ve Maps için Google Services JSON/XML'i otomatik olarak yapılandırır. IntelliCode, projenizin .NET TFM'sine göre doğru using yönergelerini ve paket sürümlerini önerir.
Sıkça Sorulan Sorular
.NET MAUI, tek bir proje, yerleşik DI, Shell, WinUI desteği ve modern SDK stili .csproj ile Xamarin.Forms'un evrimidir. Xamarin.Forms her platform için ayrı projeler gerektirir ve Windows 11'i yerel olarak desteklemez. MAUI ayrıca .NET 8/10 SDK sayesinde daha hızlı derlenir.
Evet, Native References ve Binding Projects aracılığıyla. Android için — Xamarin/MAUI Binding Library (.jar → .dll). iOS için — .xcframework → Static Library Binding. Kotlin/Swift kütüphaneleri C# proxy sınıflarına sarılır. .NET MAUI, Platforms/Android/*.java veya Platforms/iOS/*.swift klasörü aracılığıyla platforma özgü kodu destekler.
Visual Studio'da .NET Upgrade Assistant kullanın: Project → Upgrade. Araç, .csproj'yi, XAML ad alanlarını (Xamarin.Forms → MAUI) dönüştürür, kullanımdan kaldırılan API'leri değiştirir. Ayrı Xamarin.Android/iOS projeleri için — önce Xamarin.Forms'ta birleştirin, ardından geçiş yapın. Microsoft, ortalama bir proje için tipik geçiş süresini 2-4 hafta olarak tahmin etmektedir.
Evet, .NET MAUI ek Target Framework Monikers (TFM) aracılığıyla watchOS ve tvOS'u destekler. watchOS için, watchOS uyumlu öğelerle (WKInterfaceLabel vb.) XAML işaretlemesi ve Xcode'da tvOS/watchOS SDK ile zorunlu Mac build host gereklidir.
Ana alternatifler: Visual Studio Code + C# Dev Kit (hafif sürüm, XAML Designer yok), JetBrains Rider (MAUI desteğiyle çapraz platform IDE), Rider + Unity (oyunlar için). Visual Studio for Mac 2025'te durdurulduğu için Rider, macOS'ta .NET geliştiricileri arasında popülerdir.
Özet
Anahtar teslim bir mobil uygulama geliştireceğiz
IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.
Ayrıca okuyun