1 ポイント 投稿者 GN⁺ 2025-11-13 | 1件のコメント | WhatsAppで共有
  • Avaloniaベースのバックエンドにより、.NET MAUI アプリケーションが Linux デスクトップとブラウザー(WebAssembly)で実行可能に
  • 既存の MAUI コードベースを維持しながら、レンダリング層を Avalonia に置き換えることで、性能向上とプラットフォーム拡張を同時に実現
  • Ubuntu、Debian、Fedora などの デスクトップ Linux組み込み LinuxWebAssembly 環境で同一のレンダリングエンジンとして動作
  • Windows と macOS でも 2倍以上の性能向上 が確認され、プラットフォームごとの差異なく一貫した UI を提供
  • MAUI 開発者に Linux・Web 対応と予測可能な開発サイクル を提供し、Avalonia エコシステム拡張の基盤となるプロジェクト

Avalonia MAUI Backend 概要

  • Avalonia MAUI Backend は、MAUI コードベースを維持したまま Avalonia のレンダリング層に置き換える構造
    • 既存の MAUI アプリを Linux、ブラウザーなど追加プラットフォーム に拡張可能
    • デスクトップ性能の向上とプラットフォームの一貫性を確保
  • 実際のデモは WebAssembly ベースの MAUI アプリで、ブラウザーでプラグインなしに実行可能
    • 初期ビルドではあるが、MAUI が主要デスクトップ OS とブラウザーで動作することを実証

主なプラットフォーム対応

  • デスクトップ Linux 対応
    • Ubuntu、Debian、Fedora などで 第一級のデスクトップアプリ として実行
    • Avalonia レンダラーを使用し、高性能デスクトップアプリ級の品質を提供
    広告
  • 組み込み Linux 対応
    • Raspberry Pi パネル、産業用 HMI などの 組み込み機器 で Avalonia と同じバックエンドで実行
  • WebAssembly 対応
    • ブラウザーで ネイティブ依存関係なしに 実行される MAUI アプリを実現
    • 今後はブラウザー配布が可能な水準まで発展予定
  • Windows および macOS 対応
    • Avalonia の 成熟したデスクトップレンダリング構造 と統合
    • macOS では Mac Catalyst 比で2倍以上の性能向上 を確認
広告

開発効率と一貫性

  • Avalonia チームは 単一プラットフォーム(Avalonia) のみを対象に開発
    • iOS、Android、Windows、macOS、Linux、WebAssembly それぞれの個別実装が不要
    • プラットフォームごとのバグやレンダリング差異を削減
  • 同じレンダリングエンジンを使用するため、すべてのプラットフォームで同一の UI 表現 が可能
    • 機能追加やバグ修正時に すべてのプラットフォームへ即時反映
    • 開発サイクル短縮と予測可能な品質を確保

Avalonia が MAUI バックエンドを構築する理由

  • .NET クライアント開発者の支援 を優先し、MAUI ユーザーが Linux・ブラウザー対応と性能改善 を得られるようにするため
  • このプロジェクトを通じて Avalonia は モバイル適性、API 課題、ツール改善点 を学習
  • MAUI 開発者が Avalonia レンダラーと機能を体験することで、エコシステム流入効果 も期待
  • 目標は MAUI を置き換えることではなく、既存の MAUI 開発者により広い選択肢を提供すること

MAUI 開発者にとっての意味

  • MAUI 開発者が継続的に求めてきた Linux 対応一貫した描画ベース UI モデル を提供
  • Avalonia は次のような機能を提供
    • ハードウェアアクセラレーション描画
    • 一貫したレイアウト・スタイルシステム
    • 高リフレッシュレートアニメーション
    • カスタムレンダリングと視覚効果
    • 広範なプラットフォームカバレッジ
    • 継続的な投資とサポートを受けるプラットフォーム
    広告
  • Unity、JetBrains、Schneider Electric など 商用環境ですでに利用中
  • 既存の MAUI コードを維持しながら、Linux・Web・デスクトップ性能改善 を同時に実現

性能と次世代レンダリング

  • GPU フレンドリーな描画 UI スタック により、ネイティブツールキットより高い性能を確保
  • Google Flutter チームと協力し、Impeller GPU レンダラーを .NET に導入中
    • この技術が適用されれば、MAUI バックエンドも レンダリング速度向上、バッテリー節約、滑らかなアニメーション を引き継ぐことになる

今後の計画

  • MAUI エンジニアとの協業を通じてバックエンド品質の改善を継続
  • Linux とブラウザー対応が成熟段階に達すれば、MAUI は真の マルチプラットフォーム UI フレームワーク として完成
  • 安定化後は MIT ライセンスでオープンソース公開予定
  • 開発の進捗状況、ベンチマーク、プレビューを継続的に共有予定

1件のコメント

 
GN⁺ 2025-11-13
Hacker Newsの意見
  • こういう機能をWebに持ち込んだのは本当に興味深い
    ただ、デモを触ってみると 「Webらしさがない」 と感じる
    Ctrl+Fで検索できず、テキスト選択やリンク先URLのコピーもできない
    モバイルでは画像を長押しして共有もできず、スクリーンリーダーも動作しない
    こうした点が積み重なって、「これは本当のWebではない」という印象になる
    90年代後半のJava appletや、2000年代初頭のFlashやSilverlightのような、ブラウザから切り離された島のようなリッチコンテンツに感じられる

    • まったく些細な問題ではない
      こうした機能がなければ、定義上「本当のWeb」とは言えない
      結局は「Webとは何か」という哲学的な問いにつながる
      単なるメディア伝送手段なのか、それとももっと大きな何かなのかを考えさせられる
      最近は アプリ化(app-lification) したWebに疲れている人が多く、昔のオープンなWebを懐かしんでいる
    • 標準的なWeb機能を使わないと、アクセシビリティの悪夢になる
      スクリーンリーダーでデモを試したが、まったく動作しなかった
    • MAUIはもともとWeb向けではない
      Microsoftが意図した方向でもない
      AvaloniaがWASMをサポートしているので、その上にMAUIを載せれば動くというだけだ
      ただ、それは単に デスクトップGUIツールキットをWASMでレンダリング しているのと同じだ
      かっこよくはあるが、WebアプリというよりSilverlightの現代版という感じだ
      それでもLinuxデスクトップをターゲットにできるようになったのは大きな利点だ
      MAUIが各プラットフォームのネイティブコントロールを使う代わりに、Avaloniaのような 見た目が統一されたレンダリング を好む人も多いだろう
    • 20年経験の.NET開発者として、今この時代にこういう試みをなぜするのか分からない
      現代のブラウザの CSS/JS/HTML だけでも大半は実現できる
      XAMLは好きだが、JSXも似たような概念で、実際のHTMLにコンパイルされる
      Silverlightのときも同じことを思った — なぜ何度もFlashを作り直そうとするのか理解できない
      UnityのWebビルドのほうが、すでにより良い「C# Flash」だ
    • Ctrl+Fやテキスト選択ができないと知って、一気に興味が冷めた
      こういう基本機能が使えないなら、自分にとっては 論外(non-starter)
  • LinuxデスクトップをサポートしないMAUIは、最初から検討対象ではなかった
    今回の追加で多少は良くなったが、それでもAvaloniaを直接使うほうがよいと思う
    それでも既存プロジェクト向けにこういう選択肢が増えたのは歓迎したい

  • ついにKotlin MultiplatformやElectron以外でも、遅くて妙なアニメーションのある 「スマホ風UX」 アプリをLinuxで作れるようになった
    ただ、ウィジェットセットはボタンとチェックボックス程度しかなくてがっかりだ
    最近のUIツールキットのデモは、なぜ Delphi 1時代のデモ以下 なのか不思議だ

    • 実際のところ、Avaloniaをそのままネイティブで使えばよい
      すでにWindows/Mac/Linux/WASMをサポートしている
      今回の作業は、既存のMAUIアプリをLinux/WASMへ拡張したい人向けなのだろう
    • AvaloniaにはまだWaylandバックエンドがないが、優先課題として開発中だ
      進捗は Avaloniaブログ で見られる
  • .NETエコシステムで人々がMAUIを敬遠する理由の一つは、Microsoft自身が使っていないから
    TeamsですらElectronベースだ
    「MSも使わないものを、なぜ自分たちが使うべきなのか」という疑問が出てくる

    • それは歴史的な理由だ
      Windows部門はWinUI/Win32を、OfficeはReactを、開発者部門はWPFとMAUIを担当している
      各部門が別々に動いた結果、UIツールキットが分散 した
      結局どのツールキットも中途半端なサポートしか受けられなくなっている
    • 最近のMSのデスクトップアプリは、Electronの代わりに WebView2 を直接使うことが多い
      TeamsもAngularからReactへ移行する中でそうなった
      それでもMAUIを使っていないのは事実だ
      AvaloniaやWinFormsのような実績ある技術を好む雰囲気がある
      MSが長期的に何を推していくのか不透明だ
      Blazorもあるが、Reactの代替というより社内向けアプリ作成寄りだ
      ちなみにGoogleも、Flutterを自社アプリで積極的に使っているのかは疑わしい
    • TeamsがElectronベースなのは、単に MAUIより先に登場したから
      Teamsは2017年リリース、MAUIは2022年公開
      Reactへ移行した時点もMAUI以前だ
      ただ、MSがMAUIを十分に dogfooding していないのは懸念材料だ
      最近はMAUI関連の人員削減の話もあり、社内の信頼が弱いように見える
      Flutterが5年先行していた点も考慮すべきだ
      それでもMSがMAUIに本気で取り組んでいないという印象は拭えない
    • .NETフロントエンドでは絶対に作らない
      いつも サポート終了 で終わる
      標準的なWeb技術を使うほうが精神衛生上いい
    • 最近のMSが何を使っているかは、あまり参考にならない
      (MAUIを擁護しているわけではない)
  • 念のため整理しておく
    .NET MAUIはもともとAndroid、iOS、macOS、Windows向けアプリを1つのコードベースで作るフレームワークだ
    今回 Linuxとブラウザ が追加されたということだ
    MacでHello Worldアプリを作ってみたが、設定はかなり複雑だった
    それでも久しぶりにXAMLを書いたのは懐かしかった

    • Flutterに似ていますか?
  • 開発用ソフトウェアを作りながらクロスプラットフォームGUIを探していた
    最初はMAUIを試したが、インストールの時点から悪夢 だった
    基本的なUI機能すらサポートされていない
    次にAvaloniaUIを使ってみたが、まったく逆の体験だった
    インストールも簡単で、少し検索しただけで 透明な枠なしウィンドウ のようなものも簡単に実装できた
    Visual Studio統合は少し物足りないが、MAUIよりはるかに先を行っている

  • Silverlightの復活 のようだ
    参考: Microsoft SilverlightのWiki

  • Chromeではデモがほとんど動かない
    スライドパズルは反応が遅く、戻る矢印が固まる
    リロードすると最初の画面に戻る
    時刻ピッカーと日付ピッカー も配置がずれていて操作しづらい
    全体的にひどい

    • シャッフル中に戻るを押すと、アプリ全体が固まる
      関連スレッド
  • 「Launch MAUI in your browser」セクションの「Word puzzle」デモを実行したところ、
    「Randomize」を押すとタイルがシャッフルされ、その途中で上部の矢印から戻ると 画面が完全にロックする
    背景にはパズルが残り、メニューが上に重なって何もクリックできない
    複数のブラウザで同じ現象が起きる
    デモリンク

    • シャッフルが終わるまで待てば戻れるが、マウス操作の感触が変
      クリック&ドラッグが不安定で、視覚的フィードバックもない
      タイルは動かず瞬間移動する
      いっそワンクリック操作かアニメーション移動のほうがよかっただろう
      他のユーザーも同じ問題を指摘
    • 電卓を試したが、7/9 = 1と表示される
      RPN電卓は数字をスタックに入れることすらできない
  • 本当に CADソフトを作れるUIツールキット が切実に必要だ
    WebViewのように見えるアプリにはもううんざりだ

    • まったく同感だ
      この10年のWeb UIトレンドは本当に嫌いだ
      タッチ中心で大きく、余白が多く、無意味なアニメーションにあふれている
      情報密度と使いやすさ 重視の昔のUIに戻ってほしい
      日本のWebサイトを見ると、その点が良い
    • 実際、CADのようなものもGPUレンダリングサーフェスさえあれば、どんなツールキットでも可能だ
      Avaloniaのデモリールを見ると、.NET GUIスタックでも 動画編集ソフトや地図分析ツール のようなものが作れる
      Avalonia Showcase
    • 自分にとってGUIツールキットの基準は、Photoshop級のソフトウェアを作れるか
      単なる天気アプリやToDoアプリしか作れないレベルなら意味がない
    • QTはどうだろう?
      WPFやWinFormsもまだ存在する