You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MAUI多平台支持咨询:WebAssembly适配及微软Blazor路线疑问

问题描述

我计划将部分桌面应用升级至最新的.NET技术以支持多平台,经调研可选MAUI与Avalonia,二者均使用XAML。其中:

  • MAUI仅可创建原生桌面、iOS、Android应用;
  • Avalonia凭借自研渲染器可生成桌面、iOS、Android、Linux及Web(WebAssembly)应用,UI跨平台一致,但非原生特性可能无法充分利用各平台能力,且并非微软出品。

微软的Blazor基于Razor与C#,主打Web开发,Blazor混合应用需通过WebView组件在桌面运行。

我的核心需求以桌面应用开发为主,Avalonia单代码库适配多平台的特性颇具吸引力,但担忧其长期支持性。现咨询:

  1. 微软是否有计划或现有编译/渲染器让MAUI支持生成WebAssembly应用?
  2. 鉴于微软大力推进Blazor混合应用,是否希望开发者优先使用Blazor(Razor+C#)而非XAML?

更新(230828):MAUI现已支持Razor语法,请问微软是否会通过Blazor实现桌面与移动应用的单代码库开发?

解答

1. MAUI支持WebAssembly的计划

目前微软没有公开计划为MAUI添加直接生成WebAssembly应用的能力。MAUI的定位是原生跨平台UI框架,聚焦于利用各平台原生控件与能力,WebAssembly场景目前由Blazor主导。

2. 微软对Blazor vs XAML的优先级

微软并未明确要求开发者优先使用Blazor而非XAML,二者定位不同:

  • XAML框架(MAUI、WPF、WinUI)更适合需要深度利用平台原生特性、追求原生性能与体验的桌面/移动应用;
  • Blazor(包括混合应用)则主打Web优先,适合希望复用Web技术栈、快速覆盖Web+桌面/移动场景的项目,其混合应用本质是通过WebView承载Web内容,并非原生UI渲染。

微软会根据不同场景推进对应的技术,开发者可根据自身需求选择。

3. MAUI+Blazor实现单代码库跨平台

MAUI支持Razor语法是为了让开发者在MAUI项目中使用Blazor组件构建UI,但这并非通过Blazor实现原生桌面/移动应用的单代码库开发。当前的MAUI Blazor混合模式,本质还是在MAUI的原生容器中嵌入Blazor WebView,Web部分的代码可复用,但原生平台的特定逻辑仍需单独处理。

微软目前的路线中,Blazor主要负责Web及混合应用场景,MAUI负责原生跨平台UI,二者会保持互补而非合并为单一的单代码库方案。


内容的提问来源于stack exchange,提问作者newcoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 12:11:12