1 puan yazan GN⁺ 2025-11-13 | 1 yorum | WhatsApp'ta paylaş
  • Avalonia tabanlı arka uç sayesinde .NET MAUI uygulamaları artık Linux masaüstünde ve tarayıcıda (WebAssembly) çalışabiliyor
  • Mevcut MAUI kod tabanı korunurken render katmanı Avalonia ile değiştirilerek aynı anda hem performans artışı hem de platform genişlemesi sağlanıyor
  • Ubuntu, Debian, Fedora gibi masaüstü Linux ile gömülü Linux ve WebAssembly ortamlarında aynı render motoruyla çalışıyor
  • Windows ve macOS'ta da 2 katın üzerinde performans artışı gözlemlenirken, platform farkı olmadan tutarlı bir UI sunuluyor
  • MAUI geliştiricilerine Linux·web desteği ve öngörülebilir geliştirme döngüsü sunarken, Avalonia ekosisteminin genişlemesi için temel oluşturan bir proje

Avalonia MAUI Backend genel bakış

  • Avalonia MAUI Backend, MAUI kod tabanını koruyup render katmanını Avalonia ile değiştiren bir yapı
    • Mevcut MAUI uygulamalarını Linux, tarayıcı gibi ek platformlara genişletmeyi mümkün kılıyor
    • Masaüstü performansını artırıyor ve platform tutarlılığı sağlıyor
  • Gerçek demoda WebAssembly tabanlı bir MAUI uygulaması yer alıyor ve tarayıcıda eklenti olmadan çalışabiliyor
    • İlk derleme olsa da MAUI'nin başlıca masaüstü işletim sistemleri ve tarayıcıda çalışabildiğini kanıtlıyor

Başlıca platform desteği

  • Masaüstü Linux desteği
    • Ubuntu, Debian, Fedora gibi dağıtımlarda birinci sınıf masaüstü uygulaması olarak çalışıyor
    • Avalonia renderer'ı kullanarak yüksek performanslı masaüstü uygulaması düzeyinde kalite sunuyor
  • Gömülü Linux desteği
    • Raspberry Pi panelleri, endüstriyel HMI gibi gömülü cihazlarda Avalonia ile aynı arka uçla çalışıyor
  • WebAssembly desteği
    • Tarayıcıda yerel bağımlılık olmadan çalışan MAUI uygulamaları mümkün oluyor
    • İleride tarayıcı dağıtımına uygun bir seviyeye ulaşması planlanıyor
  • Windows ve macOS desteği
    • Avalonia'nın olgun masaüstü render mimarisiyle entegre oluyor
    • macOS'ta Mac Catalyst'e kıyasla 2 katın üzerinde performans artışı gözlemleniyor

Geliştirme verimliliği ve tutarlılık

  • Avalonia ekibi yalnızca tek bir platformu (Avalonia) hedefleyerek geliştiriyor
    • iOS, Android, Windows, macOS, Linux ve WebAssembly için ayrı ayrı implementasyon gerekmiyor
    • Platforma özgü hatalar ve render farklılıkları azalıyor
  • Aynı render motoru kullanıldığı için tüm platformlarda aynı UI görünümü sağlanıyor
    • Özellik ekleme veya hata düzeltmeleri tüm platformlara anında yansıyor
    • Geliştirme döngüsü kısalıyor ve öngörülebilir kalite elde ediliyor

Avalonia neden MAUI arka ucu geliştiriyor?

  • Öncelik .NET istemci geliştiricilerini desteklemek ve MAUI kullanıcılarının Linux·tarayıcı desteği ile performans iyileştirmeleri elde etmesini sağlamak
  • Bu proje sayesinde Avalonia; mobil uyumluluk, API sorunları ve araç geliştirme alanları hakkında öğrenim kazanıyor
  • MAUI geliştiricilerinin Avalonia renderer'ını ve özelliklerini deneyimlemesiyle ekosisteme giriş etkisi bekleniyor
  • Amaç MAUI'nin yerini almak değil, mevcut MAUI geliştiricilerine daha geniş seçenekler sunmak

MAUI geliştiricileri için anlamı

  • MAUI geliştiricilerinin uzun süredir talep ettiği Linux desteği ve tutarlı çizim tabanlı UI modeli sağlanıyor
  • Avalonia şu yetenekleri sunuyor
    • Donanım hızlandırmalı render
    • Tutarlı yerleşim ve stil sistemi
    • Yüksek yenileme hızlı animasyonlar
    • Özel render ve görsel efektler
    • Geniş platform kapsamı
    • Sürekli yatırım yapılan ve desteklenen bir platform
  • Unity, JetBrains, Schneider Electric gibi şirketlerde ticari ortamlarda zaten kullanılıyor
  • Mevcut MAUI kodunu korurken Linux·web·masaüstü performans iyileştirmelerini aynı anda sağlıyor

Performans ve yeni nesil render

  • GPU dostu çizim tabanlı UI yığını ile yerel toolkit'lerden daha yüksek performans sağlanıyor
  • Google Flutter ekibiyle iş birliği içinde Impeller GPU renderer'ı .NET'e getiriliyor
    • Bu teknoloji uygulandığında MAUI arka ucu da daha hızlı render, daha düşük pil tüketimi ve daha akıcı animasyonlar kazanacak

Gelecek planları

  • MAUI mühendisleriyle iş birliği içinde arka uç kalitesi sürekli iyileştirilecek
  • Linux ve tarayıcı desteği olgunluk seviyesine ulaştığında, MAUI gerçek bir çok platformlu UI framework'ü haline gelecek
  • Stabilizasyondan sonra MIT lisansıyla açık kaynak olarak yayımlanması planlanıyor
  • Geliştirme durumu, benchmark'lar ve önizlemeler düzenli olarak paylaşılacak

1 yorum

 
GN⁺ 2025-11-13
Hacker News görüşleri
  • Bu işlevselliğin web'e getirilmiş olması gerçekten ilgi çekici
    Ama demoyu deneyince “web gibi” hissettirmiyor
    Ctrl+F ile arama yapılamıyor, metin seçilemiyor ve bağlantı adresi kopyalanamıyor
    Mobilde görsele uzun basıp paylaşmak da olmuyor, ekran okuyucu da çalışmıyor
    Bunlar üst üste gelince insanda “bu gerçekten web değil” izlenimi bırakıyor
    90'ların sonundaki Java applet'leri, 2000'lerin başındaki Flash veya Silverlight gibi tarayıcıdan kopuk, ada gibi duran zengin içerik hissi veriyor

    • Bu hiç de küçük bir sorun değil
      Bu tür özellikler yoksa tanım gereği buna ‘gerçek web’ denemez
      Sonunda mesele “web nedir” gibi felsefi bir soruya gidiyor
      Sadece bir medya aktarım aracı mı, yoksa daha büyük bir şey mi diye düşündürüyor
      Bugünlerde uygulamalaştırılmış (app-lification) web'den yorulan çok kişi var ve eski açık web'i özlüyorlar
    • Standart web özellikleri kullanılmazsa erişilebilirlik kâbusa dönüyor
      Demoyu ekran okuyucuyla denedim, hiç çalışmadı
    • MAUI aslında web için tasarlanmış değil
      Microsoft'un amaçladığı yön de bu değil
      Avalonia WASM'i desteklediği için, MAUI onun üstüne konulunca çalışıyor sadece
      Ama bu, aslında masaüstü GUI araç takımını WASM ile render etmekten farksız
      Havalı görünüyor ama web uygulamasından çok Silverlight'ın modern bir sürümü gibi
      Yine de Linux masaüstünü hedefleyebilmek büyük bir avantaj
      MAUI'nin her platformun yerel kontrollerini kullanması yerine, Avalonia gibi görünümü tutarlı bir render yaklaşımını tercih eden de çok olur
    • 20 yıllık bir .NET geliştiricisi olarak, bugün neden böyle bir şey denendiğini anlamıyorum
      Modern tarayıcıların CSS/JS/HTML yetenekleriyle zaten çoğu şey yapılabiliyor
      XAML'i seviyorum ama JSX de benzer bir fikir ve sonuçta gerçek HTML'e derleniyor
      Silverlight döneminde de aynı şeyi düşünüyordum — neden sürekli Flash'ı yeniden yapmaya çalışıyoruz, anlamıyorum
      Unity Web build zaten daha iyi bir “C# Flash”
    • Ctrl+F ve metin seçiminin olmadığını görünce ilgim bir anda söndü
      Bu tür temel özellikler yoksa benim için baştan elenme sebebi (non-starter)
  • Linux masaüstünü desteklemeyen bir MAUI, en baştan değerlendirme dışıydı
    Bu ekleme ile biraz daha iyi oldu ama yine de doğrudan Avalonia kullanmanın daha mantıklı olduğunu düşünüyorum
    Yine de mevcut projeler için böyle bir seçeneğin gelmesi sevindirici

  • Sonunda Kotlin Multiplatform veya Electron dışında, yavaş ve tuhaf animasyonlara sahip “telefon tarzı UX” uygulamaları Linux'ta da yapabileceğiz
    Ama widget setinin düğme ve onay kutusundan öteye gitmemesi hayal kırıklığı yaratıyor
    Bugünün UI toolkit demoları neden Delphi 1 dönemindeki demolardan bile daha kötü, merak ediyorum

    • Aslında Avalonia'yı doğrudan yerel olarak kullanmak yeterli
      Zaten Windows/Mac/Linux/WASM desteği var
      Bu çalışma daha çok mevcut MAUI uygulamalarını Linux/WASM'e genişletmek isteyenlere yönelik gibi görünüyor
    • Avalonia'nın henüz Wayland backend'i yok ama öncelikli olarak geliştiriliyor
      İlerleme durumunu Avalonia blogunda görebilirsiniz
  • .NET ekosisteminde insanların MAUI'den uzak durmasının nedenlerinden biri de Microsoft'un kendisinin kullanmaması
    Teams bile Electron tabanlı
    “MS bile kullanmıyorsa biz neden kullanalım?” sorusu doğuyor

    • Bunun tarihsel nedenleri var
      Windows ekibi WinUI/Win32'den, Office React'ten, geliştirici ekibi ise WPF ve MAUI'den sorumlu
      Her ekip kendi başına hareket edince UI araç takımları parçalanmış oldu
      Sonuç olarak tüm araç takımları ancak yarım yamalak destek alabildi
    • Son dönemde MS'in masaüstü uygulamaları Electron yerine doğrudan WebView2 kullanmaya daha yatkın
      Teams de Angular'dan React'e geçerken bunu yaptı
      Yine de MAUI kullanmadıkları doğru
      Avalonia veya WinForms gibi kendini kanıtlamış teknolojileri tercih ediyor gibiler
      MS'in uzun vadede neyi destekleyeceği belirsiz
      Blazor da var ama o daha çok React alternatifi olmaktan ziyade şirket içi uygulama geliştirmeye yakın
      Bu arada Google'ın da Flutter'ı kendi uygulamalarında ne kadar aktif kullandığı soru işareti
    • Teams'in Electron tabanlı olması basitçe MAUI'den daha önce çıkmış olmasından kaynaklanıyor
      Teams 2017'de çıktı, MAUI ise 2022'de duyuruldu
      React'e geçiş de MAUI'den önceydi
      Ama MS'in MAUI'yi yeterince dogfooding yapmaması yine de endişe verici
      Son zamanlarda MAUI ile ilgili ekip küçültme haberleri de vardı; içeride güven zayıf görünüyor
      Flutter'ın 5 yıl önce başlamış olduğunu da hesaba katmak gerekir
      Yine de MS'in MAUI'ye gerçekten odaklanmadığı izlenimini silmek zor
    • .NET frontend ile asla bir şey yapmam
      Sonu hep destek sonlandırma ile bitiyor
      Ruh sağlığı için standart web teknolojilerini kullanmak daha iyi
    • Bugünlerde MS'in ne kullandığına bakmanın pek anlamı yok
      (Bu, MAUI'yi savunduğum anlamına gelmiyor)
  • Karışıklık olmasın diye özetleyeyim
    .NET MAUI aslında Android, iOS, macOS ve Windows için tek kod tabanıyla uygulama geliştirme çatısı
    Bu kez buna Linux ve tarayıcı eklenmiş oldu
    Mac'te bir Hello World uygulaması yapmayı denedim, kurulum epey karmaşıktı
    Yine de uzun zamandır sonra XAML yazmak hoşuma gitti

    • Flutter'a benziyor mu?
  • Geliştirme amaçlı yazılım yaparken çapraz platform bir GUI arıyordum
    İlk başta MAUI'yi denedim ama kurulumdan itibaren tam bir kâbustu
    Temel UI özellikleri bile desteklenmiyordu
    Sonra AvaloniaUI denedim ve tamamen zıt bir deneyim yaşadım
    Kurulum basitti, biraz araştırmayla şeffaf çerçevesiz pencere gibi şeyleri bile kolayca yaptım
    Visual Studio entegrasyonu biraz zayıf ama MAUI'den çok daha ileride

  • Silverlight'ın geri dönüşü gibi duruyor
    Not: Microsoft Silverlight wiki

  • Demo Chrome'da neredeyse hiç çalışmıyor
    Kaydırmalı yapboz yavaş tepki veriyor, geri oku takılı kalıyor
    Sayfayı yenileyince ilk ekrana dönüyor
    Saat seçici ve tarih seçici de hizasız ve kullanımı zor
    Genel olarak oldukça kötü

    • Karıştırma sırasında geri tuşuna basarsanız tüm uygulama donuyor
      İlgili başlık
  • “Launch MAUI in your browser” bölümündeki “Word puzzle” demosunu çalıştırdım
    ‘Randomize’a basınca taşlar karışıyor, sonra üstteki okla geri dönünce ekran tamamen kilitleniyor
    Arka planda yapboz kalıyor, menü üstüne biniyor ve hiçbir şeye tıklanamıyor
    Aynı durum birden fazla tarayıcıda da oluyor
    Demo bağlantısı

    • Karıştırma bitene kadar beklerseniz geri dönüyor ama fare etkileşimi tuhaf hissettiriyor
      Tıkla-sürükle kararsız, görsel geri bildirim yok
      Taşlar hareket etmiyor, bir anda başka yere ışınlanıyor
      Tek tıkla hareket veya animasyonlu geçiş daha iyi olurdu
      Başka bir kullanıcı da aynı sorunu dile getirmiş
    • Hesap makinesini denedim, 7/9 = 1 çıkıyor
      RPN hesap makinesinde sayıları stack'e koymak bile mümkün değil
  • Gerçekten CAD programı yapılabilecek bir UI toolkit ihtiyacı büyük
    WebView gibi görünen uygulamalardan artık bıktım

    • Kesinlikle katılıyorum
      Son 10 yıldaki web UI trendlerinden nefret ediyorum
      Her şey dokunmatik odaklı büyüdü, boşluklar arttı, gereksiz animasyonlar her yere yayıldı
      Bilgi yoğunluğu ve kullanılabilirlik merkezli eski arayüzlere dönmek istiyorum
      Japon web sitelerinde bu yönü seviyorum
    • Aslında CAD benzeri şeyler için de sadece GPU render yüzeyi varsa her araç takımı iş görür
      Avalonia'nın demo reels'ine bakınca .NET GUI yığınıyla bile video editörü veya harita analiz aracı gibi şeyler yapılabildiği görülüyor
      Avalonia Showcase
    • Benim GUI araç takımı ölçütüm, Photoshop seviyesinde bir yazılım yapılabiliyor mu sorusu
      Sadece hava durumu ya da yapılacaklar uygulaması çıkarabiliyorsa pek anlamı yok
    • QT nasıl?
      WPF ve WinForms da hâlâ var