Dostlar, selam. Uzun zamandır masaüstü uygulama geliştirmekten kaçıyordum. "Artık MAUI var, cross-platform, modern, Microsoft destekliyor" dedim ve bir POC (Proof of Concept) projesine daldım. Meğer kendimi bir zaman makinesine atıp 2005'teki WinForms debug seanslarına dönmüşüm. Hatta daha beterine.
Microsoft diyor ki: "Tek kod tabanı, her platform." Güzel vaat. Ama masaüstü tarafında, özellikle Windows için, işler o kadar da güllük gülistanlık değil. Hot Reload denen şey bazen çalışıyor, bazen çalışmıyor, bazen de uygulamanın kendisini "Bu işlem sonlandırılsın mı?" diye sormadan kapatıveriyor. WinForms'ta bile böyle stabil olmayan bir geliştirme deneyimi hatırlamıyorum, ciddiyim.
Mesela basit bir CollectionView veya ListView bile performans konusunda sıkıntı çıkarabiliyor. WinForms'un DataGridView'i 2005'te bile daha akıcı çalışıyordu gibi hissediyorum. Şaka gibi ama debug ederken runtime'da beklenmedik NullReferenceException'lar almak, eski dostumuz.
C#:
// Basit bir property binding'i bile bazen "System.InvalidOperationException" ile karşılıyor.
// "The BindableProperty was not found on the target object." Ne alaka?!
private string _status;
public string Status { get => _status; set => SetProperty(ref _status, value); } // INotifyPropertyChanged ile
En komiği (ya da trajikomik olanı) platform-spesifik kodlar. "Masaüstü için şöyle yap, mobil için böyle yap" derken, kendini #if WINDOWS veya #if ANDROID direktiflerinin içinde kaybolmuş buluyorsun. Cross-platform'un amacı bu muydu ya? WinForms'ta böyle şeyler yoktu, direkt Windows'tun ve çalışırdı. Şimdi aynı UI thread sorunları, daha karmaşık bir mimaride karşıma çıkıyor.
NuGet paketleri de ayrı bir dert. Bazı kütüphaneler MAUI'yi tam desteklemiyor. "Peki, kendi renderer'ını yaz" diyorlar. 2005'te bile daha kolaydı bu işler, inanın bana.
Yok mu? Var tabii. Altyapı, Blazor Hybrid gibi seçeneklerle güçleniyor. Ama şu anki hali, özellikle ciddi bir masaüstü uygulaması yazmak isteyen biri için beni çok zorluyor. WinForms 2005'te daha "tam hissettiriyordu". MAUI ise hala "inşa halinde" gibi. Belki mobil tarafta daha iyidir, bilemiyorum.
Siz ne düşünüyorsunuz? MAUI ile masaüstü uygulama geliştiren var mı? Yaşadığınız stabilite sorunları neler? Yoksa ben mi şanssızımın tekiyim? Lütfen söyleyin, yalnız hissetmek istemiyorum bu debug çukurunda.