VodiSoft
FmgLib.MauiMarkup ile .NET MAUI uygulamalarınızı tamamen C# kullanarak geliştirin. Fluent API, Hot Reload, Localization desteği ve XAML'siz modern UI geliştirme yaklaşımını keşfedin.

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.

İlgili Yazılar

FmgLib.MauiMarkup mu, CommunityToolkit.Maui.Markup mı? Dürüst Bir Karşılaştırma

.NET MAUI arayüzünü XAML yerine C# ile yazmanın iki yolu var ve ikisi de akıcı (fluent) metotlar kullanıyor. Aradaki farkların neredeyse tamamı tek bir mimari tercihten doğuyor: elle seçilmiş uzantılar mı, yoksa kaynak üreteci mi? Bu yazıda farkları, her birinin hangi durumda daha iyi seçim olduğunu ve ikisinin aynı projede yan yana yaşayıp yaşayamayacağını ölçtüğümüz sonuçlarla ele alıyoruz.

Devamını Oku

Uygulamanın Tamamı Aynı Dili Konuşsun: .NET MAUI'de Üçüncü Parti Kontroller ve Kendi Fluent Metotlarınız

C# markup'ın gerçek projelerdeki en büyük sorusu: Syncfusion, UraniumUI, SkiaSharp gibi kütüphanelerin kontrolleri için fluent API kaybolur mu? Kaybolmuyor — aynı kaynak üreteci onlar için de çalışıyor. Tek satırlık opt-in'den otomatik taramaya, attached property'lerden yeniden tanımlanan property kurallarına, oradan kendi tasarım sistemi metotlarınızı yazmaya kadar tüm yolu ele alıyoruz.

Devamını Oku

VodiSoft

Yazılım projenizi gelir üreten bir ürüne dönüştürelim

Web, mobil, .NET, SaaS ve entegrasyon projeleri için teknik keşif yapalım; riskleri, takvimi ve en hızlı ticari kazanımı netleştirelim.

Teklif Al Toplantı