贝利信息

MAUI Blazor Hybrid怎么用 MAUI Blazor入门教程

日期:2026-01-01 00:00 / 作者:月夜之吻
MAUI Blazor Hybrid 是 .NET 中融合原生跨平台能力(MAUI)与 Web UI 开发体验(Blazor)的方案,支持用 C# 编写 Razor 组件并调用摄像头、蓝牙、NFC 等设备功能;需 Visual Studio 2025 v17.12+ 及对应工作负载,项目入口为 wwwroot/index.html,通过 MAUI Essentials 或平台服务注入实现原生能力调用,权限须在各平台配置文件中声明。

MAUI Blazor Hybrid 是 .NET 生态中把原生跨平台能力(MAUI)和 Web UI 开发体验(Blazor)结合起来的方案,适合想用 C# 写界面、又需要调用摄像头、蓝牙、NFC、本地数据库等设备功能的场景。它不是纯 Web 应用,也不是传统 MAUI XAML 应用,而是“Blazor 组件跑在 MAUI 容器里”,页面逻辑用 Razor + C#,底层由 MAUI 提供平台桥接。

环境准备和项目创建

必须安装 Visual Studio 2025 v17.12 或更高版本,并启用两个工作负载:

创建方式有两种:

项目生成后,结构类似普通 MAUI,但 wwwroot/index.html 是入口,Pages/ 下是 Razor 组件,Platforms/ 下可写平台专用代码。

运行和调试多平台目标

刚创建的项目默认支持 Windows、Android、iOS(需 Mac)、macOS。常用启动方式:

注意:不同平台的权限(如相机、位置、蓝牙)需在对应 Platforms/xxx/Info.plistAndroidManifest.xml 中声明,否则运行时会拒绝访问。

接入原生能力(比如摄像头、蓝牙)

MAUI Blazor Hybrid 的核心优势是能无缝调用原生 API。不是靠 JS 互操作硬桥接,而是通过 MAUI 的 Microsoft.Maui.Essentials 或平台服务注入:

如果官方组件不支持某功能(比如 NFC),可在 Platforms/Android/MainActivity.cs 中扩展 Java/Kotlin 代码,再通过 MAUI 的 DependencyServiceMauiHandlers 暴露给 Blazor 层。

UI 库与样式定制

默认 UI 是基础 HTML + Bootstrap CSS。想提升体验,推荐集成 BootstrapBlazor

自定义主题只需改 wwwroot/css/app.css,或引入 Tailwind、Bulma 等现代 CSS 框架,Blazor 组件自动响应。

基本上就这些。起步不复杂,但容易忽略权限配置和平台初始化细节。只要环境搭好、模板跑通、第一个摄像头按钮点出来,后续加数据库、蓝牙、NFC 就是按模块叠加的事。