Bu sene Mayıs ayındaki online Build etkinliğinde duyurulan .NET Multi-platform App UI, yani kısaca .NET MAUI, Xamarin Forms’un evrilmiş ve geliştirilmiş versiyonu diyebiliriz. Peki nedir bu MAUI? Xamarin artık kullanılmayacak mı? Bu değişim neleri etkileyecek? Bu soruları yanıtlamaya çalışalım.
MAUI neymiş?
.NET 5 ile birlikte tüm .NET platformlarını bir araya getirmek hedefleniyor ve MAUI’da bunun bir sonucu aslında. Normalde Xamarin.Forms ile her platform için ayrı bir proje oluştur ve geliştirmeye öyle devam edilirdi. MAUI ile birlikte ayrı ayrı projeler olarak değil de tek bir proje mimarisi ile geliştirme yapılacak. Yani MAUI, Xamarin’in isim değiştirmiş hali değil yeni bir framework’tür.
- Platforma özel işlevler Platforms,
- Uygulamada kullanılacak olan kaynaklar Resources ,
- Resimler de Images,
sekmesi altında tek bir yerden yönetilebilecek. Test edilmek istenen cihazlarda iOS, Android vs. farketmeksizin alt alta listelenecek.
Namespace İsimlendirmeleri
MAUI ile birlikte .NET namespace isimleri de güncellenecek ve yeni yapıya uygun isimlendirmeler kullanılacak. Xamarin.Forms, System.Maui ile değiştirilecek ve Xamarin.Essentials’da System.Device’e dahil olacak.
Platformlara ait native namespace’lerde herhangi bir değişiklik yapmaya gerek yok tabi.
Xamarin.Native (Xamarin.iOS ve Xamarin.Android)’e Ne Olacak?
Hem Xamarin.iOS hem de Xamarin.Android .NET 6'ya dahil edilecek ve sırasıyla .NET for iOS ve .NET for Android olarak yeniden isimlendirilecekler. Ayrıca CLI desteği ile geliştirme daha hızlı bir hale getirilecek.
Tasarım Desenleri
Halihazırda bildiğimiz ve kullandığımız üzere XAML-MVVM ikilisi MAUI’da da kullanılmaya devam edecek. Buna ek olarak MVU(Model-View-Update) ve hatta Blazor desteği de gelecek.
Xamarin vs. MAUI
Mevcut Xamarin.Forms Projelerine Ne Olacak?
Şöyle ki MAUI kullanıma başlandıktan sonra yavaş yavaş var olan Xamarin.Forms projelerinin MAUI yapısına geçiş işleminin gerçekleştirilmesi gerekiyor.
Ayrıca MAUI’ın kullanıma sunum zamanı yaklaştıkça, mevcut uygulamaların sorunsuz bir şekilde geçiş yapmasına yardımcı olmak için, hali hazırda .NET Core’da uygulanmakta olan geçiş süreci desteğininin geliştiricilere sunulacağı söylendi.
MAUI Zaman Çizelgesi
MAUI’yi .NET 6 ile beraber kullanmaya başlayacağız. Yani 2020'nin sonlarına doğru preview sürümleri, 2021 sonlarına doğru ise final sürümü yayınlanacak.
MAUI’ın github sayfasından güncek olarak takip edebileceğimiz üzere şu an belirtilen roadmap şu şekilde:
- MAUI preview sürümleri: 2020'nin sonundan 2021'nin 3.çeyreğine kadar
- MAUI final sürümü adayı: Eylül 2021
- MAUI genel kullanıma açılması: Kasım 2021
MAUI yayınlanana kadar ki süreçte Xamarin geliştirmeleri devam edecek. MAUI yayınlandıktan sonra 12 ay boyunca da desteklenecek. Xamarin’in geliştirme planlaması ise şu sekilde:
Güzel bir şeyler:
- Introducing .NET Multi-platform App UI (.NET Blog)
- .NET MAUI @ GitHub
- .NET MAUI resmi yol haritası
- Build Session: Build native apps for any device with .NET (Maddy Leger, David Ortinau)
- Build session: The Journey to One .NET (Scott Hanselman, Scott Hunter)