XAML'siz .NET MAUI Geliştirme: FmgLib.MauiMarkup ile Daha Temiz Kod Yazın
.NET MAUI geliştiricilerinin büyük çoğunluğu kullanıcı arayüzünü oluştururken XAML kullanıyor. Ancak özellikle büyük projelerde zamanla XAML dosyalarının büyümesi, kod ile UI arasında sürekli geçiş yapılması ve yeniden düzenleme maliyetleri geliştirme sürecini yavaşlatabiliyor.
İşte tam bu noktada FmgLib.MauiMarkup farklı bir yaklaşım sunuyor.
Artık kullanıcı arayüzünüzü tamamen C# içerisinde, güçlü bir Fluent API ile oluşturabilir ve XAML kullanmadan modern MAUI uygulamaları geliştirebilirsiniz.
Neden XAML Yerine C#?
XAML güçlüdür ancak bazı dezavantajları vardır:
- Büyük dosyalarda okunabilirlik azalır.
- UI ve iş mantığı farklı dosyalara bölünür.
- Refactoring işlemleri daha zahmetlidir.
- IntelliSense bazen yetersiz kalabilir.
- Kod tekrarları oluşabilir.
FmgLib.MauiMarkup ise UI geliştirmeyi doğrudan C# içerisine taşıyarak bu problemleri büyük ölçüde ortadan kaldırır.
Fluent API Deneyimi
XAML'de yazılan şu kod:
<Image
Source="dotnet_bot.png"
WidthRequest="150"
HeightRequest="100"
Opacity="0.8"/>
FmgLib.MauiMarkup ile şu hale gelir:
new Image()
.Source("dotnet_bot.png")
.SizeRequest(150,100)
.Opacity(.8);
Kod hem okunabilir hem de tamamen IntelliSense desteklidir.
Tüm MAUI Özellikleri Elinizin Altında
FmgLib.MauiMarkup, MAUI View'larında bulunan neredeyse tüm özellikleri Fluent Method olarak sunar.
Örneğin;
- Text
- FontSize
- BackgroundColor
- Margin
- Padding
- Grid.Row
- Grid.Column
- RowSpan
- ColumnSpan
- Automation Properties
- Semantic Properties
- Shell Properties
gibi onlarca özellik doğrudan extension method olarak kullanılabilir.
Attached Properties Daha Okunabilir
MAUI Attached Property kullanımı çoğu zaman karmaşık olabilir.
Örneğin:
new Border()
.AbsoluteLayoutBounds(new Rect(50,50,200,120));
Bu yaklaşım hem okunabilirliği artırır hem de IntelliSense desteğini kaybetmeden geliştirme yapmanıza olanak sağlar.
Hot Reload Desteği
Geliştirme hızını artıran en önemli özelliklerden biri de Hot Reload desteğidir.
Build() metodunda yaptığınız değişiklikleri uygulamayı yeniden başlatmadan görebilirsiniz.
Bu da özellikle tasarım geliştirirken ciddi zaman kazandırır.
Localization Dostu
Modern uygulamalar çoğu zaman birden fazla dili desteklemek zorundadır.
FmgLib.MauiMarkup çok dilli uygulamalar geliştirirken kodun okunabilirliğini koruyacak şekilde tasarlanmıştır.
Localization desteği sayesinde farklı diller arasında geçiş yapmak oldukça kolaydır.
Yeni Proje Oluşturmak Çok Kolay
CLI üzerinden yeni bir proje oluşturabilirsiniz.
dotnet new install FmgLib.MauiMarkup.Template
dotnet new fmglib-mauimarkup-app -o MyApplication
Mevcut projelere ise yalnızca NuGet paketi eklemek yeterlidir.
dotnet add package FmgLib.MauiMarkup
Üçüncü Parti Kontrolleri de Destekleniyor
FmgLib.MauiMarkup yalnızca MAUI kontrolleriyle sınırlı değildir.
Kendi kontrolleriniz veya üçüncü parti UI kütüphaneleri için de Fluent Extension Method üretebilirsiniz.
Bu sayede kullandığınız bileşenler de aynı geliştirme deneyimini sunmaya devam eder.
Kimler İçin Uygun?
FmgLib.MauiMarkup özellikle şu geliştiriciler için oldukça güçlü bir alternatiftir:
- XAML kullanmak istemeyenler
- Tamamen C# ile geliştirme yapmak isteyenler
- Daha okunabilir UI kodu yazmak isteyenler
- Büyük MAUI projeleri geliştiren ekipler
- Daha hızlı refactoring yapmak isteyen geliştiriciler
- Hot Reload deneyimini maksimum verimle kullanmak isteyenler
Sonuç
FmgLib.MauiMarkup yalnızca XAML'in yerine geçen bir çözüm değildir.
Daha okunabilir kod, daha hızlı geliştirme, Fluent API yaklaşımı, Hot Reload desteği ve modern .NET MAUI geliştirme deneyimi sunan güçlü bir açık kaynak kütüphanedir.
Eğer MAUI geliştirme sürecinizi daha üretken hale getirmek istiyorsanız, FmgLib.MauiMarkup kesinlikle denemeniz gereken projelerden biridir.
⭐ GitHub reposuna yıldız vermeyi unutmayın ve katkıda bulunarak projenin gelişmesine destek olabilirsiniz.