.NET MAUI

Xamarin.Forms'tan .NET MAUI 10'a geçiş: 2026 rehberi

Xamarin desteği 1 Mayıs 2024'te sona erdi ve son Xamarin sürümleri artık mağaza gereksinimlerini karşılamıyor; bu yüzden mevcut Xamarin uygulamaları güncelleme yayınlayamıyor. Rehber, .NET 10 üzerinde .NET MAUI 10'a geçişte izlenecek yolu, Visual Studio'daki GitHub Copilot modernization agent ile yeni tek proje oluşturma yaklaşımını karşılaştırıyor. Layout'lar, custom renderer'lar ve üçüncü taraf paketlerin işin en uzun kısmı olduğu vurgulanıyor.

DEV Community: #csharp Piyush Bhatt
Yayın tarihi
Okuma süresi
10 dk okuma
agent çalıştırması #24
agent çalıştırması #24
Orijinale git dev.to

Bu haberi bildir

Özette bir hata mı var, ya da bu içeriğin sahibi misin? Mesajın doğrudan bana e-posta olarak gelir.

Mesaj türü

Kilit noktalar

  • Mağaza gereksinimleri nedeniyle Xamarin uygulamalarına güncelleme yayınlanamıyor: App Store için Xcode 26, Google Play için Android 16 (API 36) hedefi gerekiyor.
  • Geçiş öncesi uygulamayı Xamarin.Forms 5.0'a ve NuGet paketlerini güncel sürümlere çekmek, MAUI ile API farklarını azaltıyor.
  • .NET Upgrade Assistant kullanımdan kalktı; yerine Visual Studio 2026 içindeki GitHub Copilot modernization agent geliyor ve her adımı commit'leyerek geri alınabilir bir plan sunuyor.
  • RelativeLayout kaldırıldı, StackLayout'un AndExpand seçenekleri kullanımdan kalktı; çözüm Grid ile veya HorizontalStackLayout/VerticalStackLayout'a geçmek.
  • Custom renderer'lar Microsoft.Maui.Controls.Compatibility ile hızlıca derlenir hale geliyor, kalıcı çözüm handler'lara taşımak.
  • Başlangıç kodu MauiProgram'a taşınıyor; Xamarin.Essentials işlevleri UseMaui ile projeye otomatik dahil geliyor.

Microsoft, Xamarin SDK'larına verdiği desteği 1 Mayıs 2024'te bitirdiği için son Xamarin sürümleri Android API 34 ve Xcode 15 seviyesinde kaldı. Mağaza kuralları da değişti: App Store 28 Nisan 2026'dan itibaren Xcode 26 ile derlenmiş yüklemeler istiyor, Google Play ise 31 Ağustos 2026'dan itibaren Android 16 (API 36) hedefini zorunlu tutuyor. Yani yayındaki bir Xamarin uygulaması çalışmaya devam etse de güncelleme, hatta güvenlik yaması yayınlanamıyor.

Geçişte iki yol var: .NET Upgrade Assistant'ın yerini alan GitHub Copilot modernization agent ile proje ve namespace dönüşümünü başlatmak, ya da aynı adla yeni bir .NET MAUI projesi açıp kodu içine taşımak. Yazar ikisini birleştirmeyi öneriyor. Pratikte en çok zamanı RelativeLayout'ın kaldırılması, StackLayout'un AndExpand seçeneklerinin kullanımdan kalkması, custom renderer'ların handler'lara taşınması ve Firebase gibi paketlerin MAUI sürümlerinin bulunması alıyor. Başlangıç kodu MainActivity ve AppDelegate yerine MauiProgram'a taınıyor, MessagingCenter'ın yerini CommunityToolkit.Mvvm'deki WeakReferenceMessenger alıyor.

Gerçek dünyada kullanımı

  • Mağazada hala yayında olan ama artık güncelleme alamayan bir sağlık uygulamasını .NET 10 ve MAUI 10'a taşımak.
  • Firebase bildirimleri ve Twilio Video görüşmeleri kullanan çok platformlu bir kurumsal uygulamada paket uyumluluğunu çözmek.
  • Çok sayıda custom renderer içeren eski bir Xamarin.Forms uygulamasını kademeli olarak handler mimarisine geçirmek.
  • Windows'ta uzun dosya yolu nedeniyle başarısız olan MAUI build'lerini NUGET_PACKAGES dizinini kısaltarak düzeltmek.

Neden önemli

Xamarin'de kalan bir uygulama artık güvenlik düzeltmesi bile yayınlayamıyor; bu yüzden geçiş planını ertelemek, mağaza uyumluluğunu ve bakımı tamamen kaybetmek anlamına geliyor.

Bu özet, DEV Community: #csharp üzerindeki orijinal yazıdan agent tarafından üretildi. Yazının tamamı ve tüm hakları ilgili yazara/yayıncıya aittir. Orijinal yazıya git

Benzer haberler

Geri bildirim

Bir hata mı buldun, bir fikrin mi var? Yazdığın mesaj doğrudan bana e-posta olarak gelir.

Mesaj türü