1 poin oleh GN⁺ 2025-11-13 | 1 komentar | Bagikan ke WhatsApp
  • Melalui backend berbasis Avalonia, aplikasi .NET MAUI kini dapat berjalan di desktop Linux dan browser (WebAssembly)
  • Dengan tetap mempertahankan codebase MAUI yang ada, lapisan rendering diganti ke Avalonia untuk sekaligus meningkatkan performa dan memperluas dukungan platform
  • Berjalan dengan mesin rendering yang sama di lingkungan desktop Linux seperti Ubuntu, Debian, Fedora, serta embedded Linux dan WebAssembly
  • Di Windows dan macOS juga teramati peningkatan performa lebih dari 2x, sekaligus menyediakan UI yang konsisten tanpa perbedaan antarplatform
  • Proyek ini memberi pengembang MAUI dukungan Linux·web dan siklus pengembangan yang lebih terprediksi, sekaligus menjadi landasan perluasan ekosistem Avalonia

Gambaran umum Avalonia MAUI Backend

  • Avalonia MAUI Backend adalah arsitektur yang mengganti lapisan rendering ke Avalonia sambil tetap mempertahankan codebase MAUI
    • Aplikasi MAUI yang ada dapat diperluas ke platform tambahan seperti Linux dan browser
    • Meningkatkan performa desktop sekaligus memastikan konsistensi antarplatform
  • Demo nyata ditampilkan sebagai aplikasi MAUI berbasis WebAssembly yang dapat berjalan di browser tanpa plugin
    • Meski masih build awal, ini membuktikan bahwa MAUI dapat berjalan di OS desktop utama dan browser

Dukungan platform utama

  • Dukungan desktop Linux
    • Berjalan sebagai aplikasi desktop kelas satu di Ubuntu, Debian, Fedora, dan lainnya
    • Menggunakan renderer Avalonia untuk menghadirkan kualitas setara aplikasi desktop berperforma tinggi
    Iklan
  • Dukungan embedded Linux
    • Berjalan pada perangkat embedded seperti panel Raspberry Pi dan HMI industri dengan backend yang sama seperti Avalonia
  • Dukungan WebAssembly
    • Mewujudkan aplikasi MAUI yang berjalan di browser tanpa dependensi native
    • Ke depan ditargetkan berkembang hingga siap untuk distribusi via browser
  • Dukungan Windows dan macOS
    • Terintegrasi dengan arsitektur rendering desktop Avalonia yang matang
    • Di macOS, teramati peningkatan performa lebih dari 2x dibanding Mac Catalyst
Iklan

Efisiensi pengembangan dan konsistensi

  • Tim Avalonia mengembangkan hanya untuk satu platform (Avalonia)
    • Tidak perlu implementasi terpisah untuk iOS, Android, Windows, macOS, Linux, dan WebAssembly
    • Mengurangi bug spesifik platform maupun perbedaan rendering
  • Karena menggunakan mesin rendering yang sama, tampilan UI identik di semua platform
    • Saat fitur ditambahkan atau bug diperbaiki, perubahan langsung tercermin di semua platform
    • Memperpendek siklus pengembangan dan menghasilkan kualitas yang lebih terprediksi

Mengapa Avalonia membangun backend untuk MAUI

  • Prioritas utamanya adalah mendukung pengembang klien .NET, agar pengguna MAUI bisa memperoleh dukungan Linux·browser dan peningkatan performa
  • Melalui proyek ini, Avalonia mempelajari kemampuan ramah mobile, persoalan API, dan area perbaikan tooling
  • Dengan memberi pengembang MAUI kesempatan merasakan renderer dan fitur Avalonia, diharapkan ada efek masuknya pengguna ke ekosistem
  • Tujuannya bukan menggantikan MAUI, melainkan memberi pilihan yang lebih luas bagi pengembang MAUI yang ada

Maknanya bagi pengembang MAUI

  • Menyediakan dukungan Linux dan model UI berbasis drawing yang konsisten yang terus diminta oleh pengembang MAUI
  • Avalonia menyediakan fitur-fitur berikut
    • Rendering akselerasi hardware
    • Sistem layout dan styling yang konsisten
    • Animasi refresh rate tinggi
    • Rendering kustom dan efek visual
    • Cakupan platform yang luas
    • Platform yang terus mendapat investasi dan dukungan
    Iklan
  • Sudah digunakan di lingkungan komersial seperti Unity, JetBrains, dan Schneider Electric
  • Sambil mempertahankan kode MAUI yang ada, pengembang dapat sekaligus memperoleh dukungan Linux·web dan peningkatan performa desktop

Performa dan rendering generasi berikutnya

  • Dengan stack UI drawing yang ramah GPU, performa lebih tinggi dapat dicapai dibanding toolkit native
  • Bekerja sama dengan tim Google Flutter untuk menghadirkan renderer GPU Impeller ke .NET
    • Jika teknologi ini diterapkan, backend MAUI juga akan mewarisi peningkatan kecepatan rendering, penghematan baterai, dan animasi yang lebih mulus

Rencana ke depan

  • Terus meningkatkan kualitas backend melalui kolaborasi dengan engineer MAUI
  • Saat dukungan Linux dan browser mencapai tahap matang, MAUI akan lengkap sebagai framework UI multiplatform sejati
  • Setelah stabil, proyek ini direncanakan dirilis sebagai open source dengan lisensi MIT
  • Perkembangan pengembangan, benchmark, dan preview akan terus dibagikan

1 komentar

 
GN⁺ 2025-11-13
Komentar Hacker News
  • Sangat menarik melihat kemampuan seperti ini dibawa ke web
    Tapi setelah mencoba demonya, rasanya sama sekali tidak seperti web
    Tidak bisa mencari dengan Ctrl+F, tidak bisa memilih teks, dan tidak bisa menyalin alamat tautan
    Di mobile juga tidak bisa menekan lama gambar untuk membagikannya, dan screen reader pun tidak berfungsi
    Hal-hal seperti ini menumpuk dan memberi kesan bahwa “ini bukan web yang sesungguhnya”
    Rasanya seperti konten kaya yang terisolasi dari browser, seperti pulau tersendiri ala Java applet akhir 90-an atau Flash dan Silverlight awal 2000-an

    • Ini sama sekali bukan masalah sepele
      Kalau fitur-fitur seperti ini tidak ada, maka secara definisi ini tidak bisa disebut ‘web sungguhan’
      Pada akhirnya ini mengarah ke pertanyaan filosofis: “sebenarnya web itu apa?”
      Apakah web hanya media pengiriman konten, atau sesuatu yang lebih besar dari itu?
      Sekarang banyak orang lelah dengan web yang teraplikasikan (app-lification) dan merindukan web terbuka seperti dulu
    • Jika tidak memakai fitur web standar, hasilnya jadi mimpi buruk untuk aksesibilitas
      Saya mencoba demo itu dengan screen reader dan sama sekali tidak berfungsi
    • MAUI memang sejak awal bukan untuk web
      Itu juga bukan arah yang dimaksud Microsoft
      Hanya saja karena Avalonia mendukung WASM, MAUI bisa dijalankan di atasnya
      Tapi itu pada dasarnya hanya merender toolkit GUI desktop ke WASM
      Memang keren, tapi rasanya lebih seperti Silverlight versi modern daripada web app
      Meski begitu, bisa menargetkan desktop Linux adalah keuntungan besar
      Banyak juga yang mungkin lebih suka rendering dengan tampilan seragam seperti Avalonia daripada MAUI yang memakai kontrol native tiap platform
    • Sebagai developer .NET dengan pengalaman 20 tahun, saya tidak mengerti kenapa percobaan seperti ini masih dilakukan sekarang
      Dengan CSS/JS/HTML browser modern saja, sebagian besar hal sudah bisa dilakukan
      Saya suka XAML, tapi JSX pun konsepnya mirip dan pada akhirnya dikompilasi menjadi HTML nyata
      Saya juga berpikir sama saat era Silverlight — saya tidak paham kenapa orang terus mencoba membuat ulang Flash
      Unity Web build sudah menjadi “C# Flash” yang lebih baik
    • Begitu melihat Ctrl+F dan pemilihan teks tidak berfungsi, minat saya langsung hilang
      Kalau fitur dasar seperti ini saja tidak ada, buat saya ini bukan opsi sama sekali (non-starter)
  • MAUI yang tidak mendukung desktop Linux sejak awal memang bukan kandidat yang saya pertimbangkan
    Penambahan ini setidaknya membuatnya sedikit lebih baik, tapi saya tetap merasa lebih baik langsung memakai Avalonia
    Meski begitu, senang juga ada opsi seperti ini untuk proyek yang sudah ada

  • Akhirnya, selain Kotlin Multiplatform atau Electron, sekarang kita juga bisa membuat aplikasi Linux dengan UX gaya ponsel yang lambat dan animasinya aneh
    Tapi set widget-nya hanya sebatas tombol dan checkbox, jadi mengecewakan
    Saya heran kenapa demo toolkit UI zaman sekarang bahkan kalah dari demo era Delphi 1

    • Sebenarnya tinggal pakai Avalonia secara native saja
      Sudah mendukung Windows/Mac/Linux/WASM
      Pekerjaan kali ini tampaknya ditujukan untuk orang-orang yang ingin memperluas aplikasi MAUI yang sudah ada ke Linux/WASM
    • Avalonia memang belum punya backend Wayland, tapi sedang dikembangkan sebagai prioritas
      Perkembangannya bisa dilihat di blog Avalonia
  • Salah satu alasan orang enggan memakai MAUI di ekosistem .NET adalah karena Microsoft sendiri tidak memakainya
    Bahkan Teams pun berbasis Electron
    Jadi muncul pertanyaan, “kalau MS saja tidak pakai, kenapa kita harus pakai?”

    • Itu karena alasan historis
      Divisi Windows menangani WinUI/Win32, Office memakai React, dan divisi developer menangani WPF serta MAUI
      Karena tiap divisi bergerak sendiri-sendiri, hasilnya toolkit UI jadi terpecah-pecah
      Pada akhirnya semua toolkit hanya mendapat dukungan setengah-setengah
    • Belakangan ini, aplikasi desktop MS lebih sering langsung memakai WebView2 alih-alih Electron
      Teams juga berubah begitu saat pindah dari Angular ke React
      Meski begitu, memang benar mereka tidak memakai MAUI
      Suasananya adalah lebih memilih teknologi yang sudah terbukti seperti Avalonia atau WinForms
      Tidak jelas apa yang akan benar-benar didorong MS dalam jangka panjang
      Ada juga Blazor, tapi itu lebih dekat ke pembuatan aplikasi internal daripada pengganti React
      Sebagai catatan, saya juga ragu Google benar-benar aktif memakai Flutter di aplikasi mereka sendiri
    • Teams berbasis Electron hanya karena lahir lebih dulu daripada MAUI
      Teams dirilis pada 2017, sedangkan MAUI diperkenalkan pada 2022
      Peralihan ke React juga terjadi sebelum MAUI
      Tapi tetap saja mengkhawatirkan bahwa MS tidak cukup banyak melakukan ‘dogfooding’ pada MAUI
      Belakangan bahkan ada kabar pengurangan personel terkait MAUI, jadi kepercayaan internal tampak lemah
      Perlu juga mempertimbangkan bahwa Flutter memulai 5 tahun lebih awal
      Meski begitu, sulit menghilangkan kesan bahwa MS tidak benar-benar berkomitmen pada MAUI
    • Saya tidak akan pernah membangun frontend dengan .NET
      Ujung-ujungnya selalu dihentikan dukungannya
      Memakai teknologi web standar jauh lebih baik untuk kesehatan mental
    • Apa yang dipakai MS sekarang rasanya tidak terlalu layak dijadikan acuan
      (Bukan berarti saya membela MAUI)
  • Kalau ada yang bingung, saya rangkum
    .NET MAUI pada dasarnya adalah framework untuk membuat aplikasi Android, iOS, macOS, dan Windows dari satu codebase
    Kali ini yang ditambahkan adalah Linux dan browser
    Saya sempat mencoba membuat aplikasi Hello World di Mac, dan konfigurasinya cukup rumit
    Tapi tetap menyenangkan bisa memakai XAML lagi setelah sekian lama

    • Apakah ini mirip Flutter?
  • Saya sedang membuat software untuk pengembangan dan mencari GUI lintas platform
    Awalnya saya mencoba MAUI, tapi bahkan instalasinya sudah seperti mimpi buruk
    Fitur UI dasar saja tidak didukung
    Setelah itu saya mencoba AvaloniaUI dan pengalamannya benar-benar kebalikan
    Instalasinya sederhana, dan dengan sedikit pencarian saya bisa dengan mudah membuat hal seperti jendela transparan tanpa bingkai
    Integrasi dengan Visual Studio memang agak kurang, tapi tetap jauh lebih maju daripada MAUI

  • Rasanya seperti kebangkitan Silverlight
    Referensi: wiki Microsoft Silverlight

  • Di Chrome, demonya nyaris tidak berfungsi
    Puzzle geser responsnya lambat, dan panah kembali macet
    Kalau di-refresh, kembali ke layar awal
    Pemilih waktu dan pemilih tanggal juga tidak rapi posisinya dan sulit dipakai
    Secara keseluruhan, sangat buruk

    • Kalau menekan kembali saat sedang shuffle, seluruh aplikasi langsung macet
      Thread terkait
  • Saya menjalankan demo “Word puzzle” di bagian “Launch MAUI in your browser”
    Saat menekan ‘Randomize’, ubin mulai diacak, lalu ketika kembali dengan panah atas, layar terkunci sepenuhnya
    Puzzle tetap terlihat di latar belakang, menu menumpuk di atasnya, dan tidak ada yang bisa diklik
    Hal yang sama terjadi di beberapa browser
    Tautan demo

    • Kalau menunggu shuffle selesai, memang bisa kembali, tapi rasa kontrol mouse-nya aneh
      Klik-drag tidak stabil dan tidak ada umpan balik visual
      Ubin tidak bergerak, tapi langsung berpindah seketika
      Satu kali klik atau perpindahan dengan animasi justru akan lebih baik
      Pengguna lain juga mengangkat masalah yang sama
    • Saya mencoba kalkulatornya, dan 7/9 = 1
      Kalkulator RPN bahkan tidak bisa memasukkan angka ke stack
  • Saya benar-benar butuh toolkit UI yang bisa dipakai membuat program CAD sungguhan
    Saya sudah bosan dengan aplikasi yang tampil seperti webview

    • Sangat setuju
      Saya sangat tidak suka tren UI web 10 tahun terakhir
      Semuanya membesar karena fokus ke sentuhan, ruang kosongnya banyak, dan penuh animasi yang tidak perlu
      Saya ingin kembali ke UI lama yang menekankan kepadatan informasi dan kemudahan pakai
      Itulah yang saya sukai dari situs web Jepang
    • Sebenarnya untuk hal seperti CAD pun, toolkit apa saja bisa dipakai asalkan ada permukaan rendering GPU
      Kalau melihat demo reel Avalonia, dengan stack GUI .NET pun bisa dibuat hal seperti editor video atau alat analisis peta
      Avalonia Showcase
    • Standar saya untuk GUI toolkit adalah apakah bisa dipakai membuat software sekelas Photoshop
      Kalau cuma cukup untuk aplikasi cuaca atau to-do list, tidak ada artinya
    • Bagaimana dengan QT?
      WPF dan WinForms juga masih ada