MAUI

2020-12-03 12:14:41

Ömer Sezer, Mobilist

Herkese merhabalar. Bu yazıda MAUI nedir, neden çıktı, Xamarin’e ne olacak gibi soruların cevaplarını vermeye çalışacağız.

MAUI

MAUI Nedir?

MAUI, 2020 yılında Microsoft tarafından yapılan Build 2020 etkinliğinde Xamarin Forms’un evrimleşmiş hali olarak tanıtıldı. Microsoft, Multi-platform App UI ile beraber Xamarin’de bulunan sıkıntıları giderip, köklü değişiklikler yapacağını duyurdu. Şu an için basit bir tanımlama yapmak gerekirse Xamarin.Forms, Xamarin.iOS, Xamarin.Android namespace’leri yerine MAUI, .NET For iOS ve .NET For Android olarak değiştirilmesidir. Tabi Microsoft’un açıklamalarına göre arka planda köklü değişiklikler olacaktır.

MAUI Neden Çıktı?

Xamarin ile uygulama geliştirirken, UI çıkarmak için Xaml yazmanız gerekiyordu. Xaml ise yazımı zor ve güncel teknolojilerden biraz uzak kalmıştı. Özellikle Flutter, React Native gibi günümüzde çokça kullanılan ve cross platform’a artan rağbet ile Microsoft da burada yeniden bir yapılandırma yapmak istedi. Tasarım tarafında tamamen farklı bir yapıya geçiyor. Örnek vermek gerekirse; aşağıda Xamarin Forms ve MAUI ile yazılmış aynı kodlar mevcut. Burada gördüğünüz gibi kod karmaşıklığı biraz daha azalıyor.

Xamarin Forms
MAUI

Bu arada xmal yazmak isteyenler hala yazabilecekler. Microsoft burada bu desteği de vereceğini belirtiyor.

Bunun yanı sıra Xamarin Forms’da bir görsel, font eklemek istediğimizde veya platforma özel bir işlem yapmak istediğimizde Xamarin.iOS ve Xamarin.Android kısımlarına tek tek o görselleri ve fontları eklemek gerekiyordu. MAUI ile artık bu sorunda ortadan kalkmış durumda. Solution’a yeni projeler eklemek yerine tek proje içerisinde platformlara ayrılmış durumda. Resimleri, fontları tek bir yerden yönetirken platforma özel işlemleri ise Platforms altında gerçekleştiriyoruz.

MAUI Project Structure

Xamarin ile uygulama geliştirirken Windows için Visual Studio, MacOS için ise Visual Studio For Mac kurmanız gerekiyordu. Bu da aslında bir çok zahmete girmenize ve diskinizde fazlasıyla yer kaplamaya mal oluyor. Artık Visual Studio Code ile beraber MAUI projeleri geliştirilebilecek.

Microsoft’un MAUI için yazmış olduğu yazıya buradan ulaşabilirsiniz.

MAUI Neyi Hedefliyor?

  • Uygulama performanslarında iyileştirme
  • MVU (Model-View-Update) ile daha hızlı uygulama geliştirme
  • Kod karmaşıklığını azaltma
  • Tüm kaynakları tek bir yerden yönetme
  • Tek projede çoklu platformları hedefleme
Goals of .NET MAUI

Eski Projelere Ne Olacak?

Xamarin 2013 yılında tanıtılmıştı. 7 yıllık bu süreçte bir çok uygulama geliştirildi ve MAUI’a geçilmesiyle beraber varolan projelere ne olacağı merak konusuydu. Microsoft burada geliştireceği tool ile kolay bir şekilde Xamarin.Forms projelerinin, MAUI projelerine geçiş yapacağından bahsediyor. Bu geçişin; sorunsuz, yeniden kod yazmanıza gerek kalmayacak şekilde olacağını belirtiyorlar. Aynı zamanda geçişi yaparken kullanmadığınız custom renderer’ları silmenizi ve deprecated fonksiyonları düzeltmenizi de öneriyorlar.

Kasım ayında Xamarin için son büyük güncelleme olan Xamarin.Forms 5.0.0'ı aldık. Bundan sonra 6 haftada bir ufak güncellemeler alacak. Sonrasında ise 1 yıl yine destek verilecek. Bu süreye kadar zaten projelerin MAUI’ya geçilmesi isteniyor. 2021 yılına kadar ise yeni proje oluştururken Xamarin.Forms projeleri oluşturmamız isteniyor.

Aklınıza takılan diğer soruların cevabını ise buradan bulabilirsiniz.

Xamarin.Forms vs MAUI

MAUI Ne Zaman Yayınlanacak?

.NET 5 ile preview sürümleri çıkan MAUI, .NET 6 ile stable sürümünü yayınlayacak. Bu da 2021 kasım olarak gözüküyor. Roadmap’e buradan ulaşabilirsiniz.

Roadmap

Preview versiyonları bu sene sonunda yayınlanacak. Yayınlandığı zaman performans ve teknik incelemelerinin olduğu başka bir yazıya yine buradan ulaşabileceksiniz.

İyi çalışmalar 👋


MAUI was originally published in mobilist_labs on Medium, where people are continuing the conversation by highlighting and responding to this story.