您可以使用 .NET MAUI 和 blazor 开发一个面向 Web、ios、android 和 windows 的网页吗?

Use*_*101 16 .net blazor asp.net-blazor maui

我最近阅读了 .NET MAUI,但我对其与 Blazor 的用途感到困惑。

您可以使用 .NET MAUI 和 blazor 开发一个面向 Web、ios、android 和 windows 的网页吗?

例如,有效地开发网页以在任何其他设备上也作为应用程序工作,但在浏览器中以正常的 Blazor 方式工作(即使用 WASM)?

Mar*_*l W 16

在 .NET MAUI 中添加了BlazorWebView组件,它可以运行完整的 Blazor 代码,包括 css 和 JavaScript 互操作(因此它甚至可以运行各种 JavaScript 组件)。

由于在 .NET MAUI Blazor 项目中定义页面和 wwwroot 的方式与在 Blazor WASM 项目中定义页面和 wwwroot 的方式可能完全相同,因此您可以共享 Blazor 页面、wwwroot、代码等:将相同的代码放入您的 Blazor WASM 中项目和 .NET MAUI Blazor 项目中。您还可以添加和使用 Blazor 类库。这样,您可以在 Web 浏览器 (Blazor WASM) 和本机 iOS/Android/Windows/Mac 应用程序 (.NET MAUI) 中运行完全相同的代码。

额外的好处:在 .NET MAUI 上运行时,您运行本机,因此您可以从 Blazor 访问所有本机组件/硬件、添加推送通知等,而您无法从 Web 应用程序访问这些内容。

请参阅.NET MAUI Blazor 简介视频以获取清晰的说明。

在 .NET MAUI 应用程序中,BlazorWebView 是一个组件,因此您可以根据需要将其与 XAML 代码结合使用。

但是,反之则不然,您不能在 Blazor WASM Web 应用程序中运行 XAML UI。

  • @User101 - 非常清楚(因为这种情况让很多人感到困惑):最终结果是到处使用**BLAZOR**。**MAUI** 无法在网络上运行。(“无法在 .. WASM Web 应用程序中运行 XAML UI”可能无法让人们清楚地了解这一点。属于 MAUI 一部分的所有类都不会出现在 Web 上 - 除非它们是 Blazor 的一部分。希望有一天...) (7认同)