Açık konuşayım:.NET MAUI ile Android tarafında uğraşanlar bilir, varsayılan kontroller görsel olarak hep biraz… eski kalıyordu. Material 2 stili artık 2018’den kalma bir tatla geliyor. Modern Android telefonları kullanan kullanıcılar uygulamayı açtığında “hmm, bu biraz native değil galiba” hissini yaşıyordu. Geçen ay bir perakende müşterimde tam olarak bu geri bildirimi aldık — kullanıcılar uygulamanın “ucuz” göründüğünden şikayet etti. Halbuki içeride ciddi iş yapıyor.
Neyse, lafı uzatmayayım..NET MAUI 10 ile birlikte tek satırlık bir MSBuild property’si ekleyerek Android uygulamanızı Material 3 (yani “Material You”) stiline geçirebiliyorsunuz (bizzat test ettim). Hem de handler customization, custom renderer falan yok — sadece bir property. Bu yazıda nasıl açılır, neyi kapsıyor, hangi tuzaklar var, Türkiye’deki kurumsal müşterilerde nasıl konumlandırırım — hepsini anlatacağım.
Bir dakika — bununla bitmedi.
Material 3 Tam Olarak Ne Getiriyor?
Önce kısa bir hatırlatma yapayım. Material 3, Google’ın Material Design çizgisindeki en güncel sürüm, yani işin daha yeni, daha esnek. Biraz da “telefonun havasına göre şekil alan” tarafı. Material 2’den farkı da birkaç yerde netleşiyor:
- Dynamic color schemes: Kullanıcının duvar kağıdına ya da sistem temasına göre kendini ayarlayan renk paleti. Hani şu “Material You” diye geçen kısım var ya, işte tam olarak o.
- Yenilenmiş bileşen şekilleri: Köşeler biraz daha yumuşuyor, gölgeler daha sakın duruyor (elevation tarafı da buna uyuyor), focus state’ler de eskiye göre daha derli toplu hissettiriyor.
- Color tokens: Özelleştirme işi burada daha rahat akıyor. Yani uygulamanızın markasına özel bir tema kurmak istiyorsanız, açık konuşayım, artık eliniz daha rahat.
Bunu açmazsanız uygulama gayet Material 2 ile yoluna devam ediyor. Kırılan dökülen bir şey yok. Ama işin küçük can sıkıcı tarafı şu: son 2 yıldaki Android telefonlarda gördüğümüz o modern hava var ya, önü biraz kaçırıyorsunuz.
Nasıl Açılır? Buyurun, Tek Satır
Aslında, Önce şu kısmı netleştirelim:.NET MAUI 10 lazım. E peki, sonuç ne oldu? Projenin net10.0-android ve diğer net10.0-* TFM’lerini hedeflediğine bakın, çünkü işin püf noktası burada gizli, yoksa satırı eklediniz diye bir şey kendiliğinden sihirli biçimde çalışmıyor; sonra .csproj dosyasını açıp bir <PropertyGroup> içine şunu koyuyorsunuz:
Ve işler burada ilginçleşiyor.
<PropertyGroup>
<UseMaterial3>true</UseMaterial3>
</PropertyGroup>
İtiraf edeyim, Bitti. Gerçekten bu kadar. Rebuild yapın, cihaza deploy edin, desteklenen kontroller Material 3 stiline geçiyor; custom renderer yok, styles.xml kurcalama yok, handler tarafında ekstra ayar yok,. Açık konuşayım, beklediğinizden daha az uğraştırıyor.
Ha, ama küçük bir detay var: Eğer XAML ya da C# tarafında elle BackgroundColor, TextColor gibi değerleri zaten set ettiyseniz, onlar yerinde kalıyor. Yani markanızın rengi neyse o baskın çıkıyor, Material 3 gelip üstüne boya çekmiyor; sadece default görünümü değiştiriyor (inanın bana). Güzel tarafı bu. Siz ne dersiniz? Biraz da sınırlı tarafı.
Beğenmediniz mi? Property’yi silin ya da false yapın, eski düzene dönüyor. Default değeri zaten false; dolayısıyla risk düşük, denemesi de rahat. Evet.
Hangi Kontroller Şu An Destekleniyor?
Bak şimdi, Material 3 tarafı biraz parça parça ilerliyor. Hani tek seferde her şey gelmiyor, daha çok Service Release’lere yayılmış durumda; akılda tutması kolay olsun diye ben bunu şöyle ayırıyorum:
| Service Release | Sürüm | Eklenen Destek |
|---|---|---|
| SR3 | 10.0.30 | UseMaterial3 property’si ve temel stiller |
| SR4 | 10.0.40 | CheckBox |
| SR6 | 10.0.60 | Button, Entry, SearchBar, DatePicker, Slider, ProgressBar, ImageButton, Switch ve Shell teması |
Evet. Daha fazla bilgi için GitHub Copilot’u .NET’te Verimli Kullanma Rehberi yazımıza bakabilirsiniz.
Asıl ciddi genişleme SR6 ile geliyor. Eğer bunu gerçekten deneyecekseniz, Microsoft.Maui.Controls NuGet paketini 10.0.60 veya üstüne çekin; yoksa yarım modern, yarım eski bir ekranla uğraşırsınız ve açık söyleyeyim, bu da pek iç açıcı olmuyor — bazı kontroller yeni görünüyor, bazıları eski kalıyor, sonra tasarım bir anda yamalı bohçaya dönüyor.
Açık konuşayım, bu listede gözüme en çok batan eksiklik Picker ve Editör. Service release’lerde gelir diye umut ediyorum ama şu an net bir tarih yok; production’a çıkacaksanız bu boşluğu baştan hesaba katmanız lazım.
Henüz Gelmeyen Kontroller İçin Strateji
Bence, Geçen hafta bir bankacılık projesinde tam bu mevzuyu konuştuk (en azından benim deneyimim böyle). Müşteri “Material 3 açalım da modern görünsün” dedi, ben de “Açarız ama Editör hâlâ eski stilde kalacak, kullanıcı bunu fark eder” dedim; sonra ekip kısa bir sessizlik yaşadı ve haklı olarak çözümü birlikte aradık.
Neyse uzatmayayım, işin aslı şu: kritik formlarda multi-line gerekmiyorsa Editör yerine Entry kullanmak baya iş görüyor, multi-line gereken yerlerde işe Editör’a özel bir style verip görsel farkı biraz törpülemek gerekiyor; yani UseMaterial3 = true dediğiniz anda kontrol setinin çoğu toparlanıyor ama o kalan küçük kısım için plan yapmazsanız sürpriz yaşarsınız.
Peki neden?
Bence mesele sadece görünüm değil; tutarlılık da önemli. Az önce %80 dedim ama aslında o %20 bazen kullanıcı gözünde daha büyük duruyor, çünkü ekranda en çabuk göze çarpan şey genelde uyumsuz kalan küçük detaylar oluyor (ciddiyim)
Şahsen, Tam da öyle.
Türkiye’deki Kurumsal Müşteriler İçin Ne Anlama Geliyor?
Bu kısım biraz kritik, çünkü.NET MAUI’yi en çok kurumsal iç uygulamalarda kullanan ekipler var — saha ekipleri, depo yönetimi, satış uygulamaları gibi. Logosoft’ta birkaç projede MAUI kullanıyoruz ve gördüğüm şey şu: iş sahada başlıyor, teoride değil.
Türkiye’de kurumsal Android uygulamalarının çoğu, mid-range cihazlarda dönüyor. Samsung A serisi, Xiaomi Redmi, Huawei (hâlâ kullananlar var). Bu cihazlarda Material You’nün dynamic color özelliği —. Duvar kağıdından renk çekme olayı — ya kullanıcı tarafından kapatılmış oluyor ya da Android sürümü buna izin vermiyor. Yani süslü renk geçişlerinden çok, modern bileşen şekillerinden ve daha temiz tipografiden faydalanacaksınız. Kısacası, vitrin değil kullanım kazandırıyor.
Durun, bir saniye. Bu konuyla ilgili MSVC 14.51 GA Çıktı: Sahadan Güncelleme Notları yazımıza da göz atmanızı tavsiye ederim.
Şunu söyleyeyim, Bence bu doğru yönde bir adım. Ama dür bir saniye — abartılmaması gereken tarafı da var: Material 3, “uygulamamız komple yenilendi” demek değil. Daha çok “Android tarafında modern hissi yakaladık” demek. Müşterinize bunu satarken beklentiyi iyi yönetin, yoksa karşı taraftan o meşhur bakışı alırsınız; hani “ben başka bir şey bekliyordum” bakışı vardır ya, işte o.
Startup mısınız Enterprise mı? Karar Matrisi
Buyurun benim düşüncem: mesele tek bir ayarı açmak kadar basit değil. Bir yerde hızlı davranmak mantıklı oluyor, başka yerde işe acele edince başınız ağrıyor; özellikle kurumsal tarafta bu fark baya hissediliyor.
- Küçük ekip / startup: Hemen açın. Riskiniz yok denecek kadar az, default false ve geri dönüş tek satır. Modern hissi yakalamak için bedavaya gelen bir kazanım; açık konuşayım, burada beklemek pek anlamlı durmuyor.
- Orta ölçek kurumsal: Önce iç demo cihazlarda test edin. Picker, Editör gibi henüz desteklenmeyen kontrollerin uygulamanızda yoğun olup olmadığına bakın. Yoğunsa SR7 veya SR8’i bekleyin; yani biraz frene basmak bazen daha az can yakıyor.
- Büyük enterprise (banka, telekom, sigorta): Burada işler farklı akıyor. UX ekibi, design system, brand guideline gibi süreçleriniz var; bunları bir kenara itince sonra geri toplamak zor oluyor. Material 3 ile birlikte bunların tekrar gözden geçirilmesi lazım, hemen production’a açmayın, paralel bir branch’te test edin, design ekibinizle uyumlulaştırın.
2019’da bir telekom projesinde Xamarin.Forms ile benzer bir geçiş yaşamıştık (Material Visual eklenmişti o zaman). UX ekibi tasarımları görünce “hayır, bu bizim guideline’a uymuyor” deyip projeyi 3 ay geriye attı. O acıyı yaşamak istemezseniz önce design ekibinizle konuşun; hatta konuşmayı geçtim, tasarım kararlarını en baştan masaya koyun.
Evet.
Pratik Uygulama: İlk Adımlar
Hadi bunu gerçekten denemek istiyorsanız, ben olsam şu sırayla giderim. Kısa ve net. Ama işin içinde küçük sürprizler de var, o yüzden acele etmeyin.
- NuGet güncelle:
Microsoft.Maui.Controlspaketini 10.0.60 veya üstüne çek. (bence en önemlisi) - TFM kontrolü:
.csprojiçindenet10.0-androidolduğundan emin ol. - Property ekle:
<UseMaterial3>true</UseMaterial3>ekle. (bu kritik) - Test cihazları: En az 2 farklı Android sürümünde (Android 12, 13, 14) test et. Material You bazı eski sürümlerde tam çalışmaz.
- Style geçişleri: Uygulamanızda kullanılan tüm kontrol tiplerini bir liste hâlinde çıkar. Hangileri Material 3 destekliyor, hangileri desteklemiyor — bunu UX ekibinizle paylaş.
- Tema testi: Light ve dark mode’da ayrı ayrı test et. Material 3’ün dark mode’u Material 2’den belirgin farklı, beklenmedik renk uyumsuzlukları çıkabiliyor.
Şunu söyleyeyim, Peki neden bu kadar uğraşıyoruz? Çünkü tek satırlık bir ayar gibi duran şey, arkada birkaç parçayı aynı anda oynatıyor; NuGet tarafı, hedef framework seçimi, tema davranışı. Cihaz bazlı farklar (özellikle eski Android sürümlerinde) birlikte düşünülmeyince insan bir bakıyor, ekran başka şey söylüyor. Cosmos Conf 2026: AI Çağında Veritabanı Nereye Gidiyor? yazımızda bu konuya da değinmiştik.
Aslında, Açık konuşayım, burada asıl mesele sadece özelliği açmak değil. Uygulamanın hangi kontrolü nasıl çizdiğini görmek gerekiyor. Mesela bir ekran güzel duruyor ama başka bir sayfada renkler kayıyor; işte o an “tamamdır” dediğiniz yer biraz sarsılıyor.
Bilmem anlatabiliyor muyum, Eğer projeniz hâlâ.NET 8 veya 9’da işe, sırf bunun için.NET 10’a atlamayın derim. Şey… yani sadece bu başlık yüzünden geçiş yapmak bana biraz fazla aceleci geliyor..NET 10’a geçişin başka artıları olacak — örneğin .NET MAUI Artık CoreCLR’da: Mono Devri Kapanıyor yazımda anlattığım runtime değişikliği gibi — ama bunları paket hâlinde değerlendirmek daha mantıklı. Daha fazla bilgi için Microsoft Foundry Nisan 2026: Sahadan Notlar ve Yorum yazımıza bakabilirsiniz.
Tema tarafında da işi hafife almayın. Light modda sorun yokken dark modda garip ton kaymaları çıkabiliyor, hatta bazen en masum görünen buton bile beklenmedik şekilde göze batıyor; böyle durumlarda ben önce kontrol listesini açıp tek tek bakıyorum, sonra da UX ekibiyle kısa bir tür atıyorum. Daha fazla bilgi için NL2SQL Gerçekten İşe Yarıyor mu? SQL MCP Server Notları yazımıza bakabilirsiniz.
Bir dakika — bununla bitmedi.
Tam da öyle.
Yaşadığım Bir Sorun ve Çözümü
İlk denemede, Pixel 7 emülatörde, Android 14 üstünde, Switch baya garip davrandı; OnColor property’sını set etmiştim ama default mor renk bir türlü gitmedi. Saatlerce baktım. Sonra taşlar yerine oturdu: Material 3 tema, color token mantığıyla çalışıyor ve eski “OnColor” artık tek bir renk gibi değil, token grubu gibi ele alınıyor.
Açık konuşayım, Çözüm? İşin aslı, Switch için XAML tarafında ThumbColor ile OnColor‘u birlikte vermek gerekiyor; tek başına biri yetmiyor (ben de ilk duyduğumda şaşırmıştım). Şey, küçük bir detay gibi duruyor ama insanı epey oyalıyor. Bu tıp ayrıntılar dokümanda her zaman net yazmıyor, çoğu zaman GitHub issue’larında çıkıyor; yani production’a geçmeden önce kendi cihazınızda ve emülatörde test etmek şart.
Bir tavsiye: GitHub’da
dotnet/mauireposunu watch’a alın, “material3” label’lı issue’ları takıp edin. Burada sahadan gelen sorunlar ve workaround’lar paylaşılıyor.
Maliyet ve Geçiş Süresi Tahmini
Türk müşteriler ilk soruyu hep aynı yerden soruyor: “Hocam bu geçiş ne kadar sürer, kaç adam/gün?” Haklılar da (kendi tecrübem). Tek bir property açmak 5 dakika sürüyor,. Işin içine test girince, UX ekibi onay verince, bir de regression testi başlayınca tablo bir anda değişiyor.
Tahminim kabaca şu yönde — orta büyüklükteki bir kurumsal MAUI uygulaması için konuşuyorum:
- Geliştirici efor: 2-3 adam/gün (kontrol bazlı testler, style fix’leri)
- UX/Design review: 3-5 adam/gün (her ekran üzerinden geçiş, onay)
- QA regression: 5-7 adam/gün (Android sürüm matrisinde test)
Toplayınca yaklaşık 2 haftalık bir iş çıkıyor. Kısa gibi duruyor, ama değil. Bunu SR6 veya üstüne geçiş planının içine koymak bence daha doğru; çünkü ayrı bir proje gibi ele alınca ekip yoruluyor, tek akışta gidince işe kontrol biraz daha kolay oluyor. Bir de tabi Visual Studio Mayıs Güncellemesi: Plan, İncele, İyileştir yazımda bahsettiğim yeni VS özellikleri bu süreçte baya iş görüyor.
Gelecek Ne Vadediyor?
Bir şey dikkatimi çekti: Microsoft’un anlattığına göre Material 3, bir noktadan sonra.NET MAUI Android tarafında varsayılan olacak. Yani UseMaterial3 property’siyle uğraşmayacağız, default true — ki bu tartışılır — gelecek ve Material 2 isteyenler bu kez false yazarak eski davranışı açacak. Büyük ihtimalle bu iş.NET 11 ya da.NET 12 ile gelir, ama net tarih için ben biraz temkinliyim.
O zamana kadar opt-in modelinde kalıyor. İyi mi, kötü mü? Bence fena değil. Geriye dönük uyumluluğu pat diye kırmıyor, ekiplerin de yeni düzene alışması için biraz nefes bırakıyor. Hani bazen Microsoft hızlı gider ya, burada öyle yapmamış olması şaşırtıcı geldi açıkçası.
Sıkça Sorulan Sorular
Material 3 sadece Android için mi geçerli?
Evet, sadece Android. iOS, Maç Catalyst ve Windows kendi native tasarım sistemlerini (UIKit, AppKit, Fluent/WinUI) kullanmaya devam ediyor. Hani ne farkı var diyorsunuz, değil mi? Bence bu aslında çok doğru bir karar; çapraz platform demek “her yerde aynı görünsün” değil, “her platformda doğal hissettirsin” demek olmalı zaten.
Material 3 açtığımda mevcut renk ve stillerim bozulur mu?
Doğrusu, Hayır, bozulmuyor. XAML veya C# tarafında elle set ettiğiniz BackgroundColor, TextColor gibi property’ler önceliğini koruyor. Material 3 yani sadece default kontrol görünümünü etkiliyor. Markanızın renkleri olduğu gibi kalıyor, merak etmeyin.
Hangi.NET MAUI sürümünde tam destek var?
En tam destek için Microsoft.Maui.Controls 10.0.60 (SR6) veya üstünü kullanın. Bu sürümle birlikte Button, Entry, SearchBar, DatePicker, Slider, ProgressBar, ImageButton, Switch ve Shell teması dahil oldu. Ama mesela Picker ve Editör gibi bazı kontroller için sonraki service release’leri beklemek lazım, açıkçası biraz sabır istiyor.
Material 3’ü kapatabilir mıyım?
Evet, hem de çok kolay. .csproj dosyasından <UseMaterial3> property’sını silmeniz ya da false yapmanız yeterli. Şimdi, default değeri zaten false. Bir sonraki build’de uygulama eski Material 2 stiline geri dönüyor — hiçbir görsel veri kaybı olmuyor (inanın bana)
Dynamic color (Material You) tüm Android cihazlarda çalışıyor mu?
Hayır, çalışmıyor. Dynamic color özelliği Android 12 (API 31) ve üstünde tam destekleniyor. Daha eski sürümlerde statik Material 3 paletine düşüyor. Tecrübeme göre Türkiye’deki mid-range cihazlarda kullanıcıların çoğu bu özelliği zaten kapatmış oluyor, o yüzden çok büyük beklenti yaratmayın.
Kaynaklar ve İleri Okuma
Daha derine inmek isteyenler için:
- Microsoft.NET Blog: Give Your.NET MAUI Android Apps a Material 3 Makeover (bence en önemlisi)
- Google Material 3 Resmî Dokümantasyonu
- .NET MAUI GitHub Reposu (issue’lar ve release notlar) — bunu es geçmeyin
- Microsoft Learn:.NET MAUI Dokümantasyonu (bence en önemlisi)
Denemek isteyenlere tavsiyem şu: küçük bir test projesinde önce açın, bir-iki ekranınızı içeri kopyalayın, görsel olarak nasıl durduğunu görün. Beğendiyseniz ana projeye taşıyın. Markanızın ne kadar uyduğunu, kullanıcı deneyiminin ne kadar iyileştiğini ancak böyle anlarsınız bence. Kolay gelsin.
Bu içerik işinize yaradı mı?
Benzer içerikleri kaçırmamak için beni sosyal medyada takip edin.



