我最近读了.NET MAUI,但我对它与Blazor的用途感到困惑。你能使用.NET MAUI和Blazor开发一个网页,并针对Web,iOS,Android和Windows吗?例如,有效地开发网页,也可以在任何其他设备上作为应用程序工作,但在浏览器中以正常的Blazor方式工作(即使用WASM)?
efzxgjgh1#
在.NET MAUI中增加了一个BlazorWebView组件,可以运行Blazor的全部代码,包括css和JavaScript互操作(所以它甚至可以运行各种JavaScript组件)。由于在.NET MAUI Blazor项目中定义页面和wwwroot的方式与在Blazor WASM项目中完全相同,因此您可以共享Blazor页面,wwwroot,代码等:在Blazor WASM项目和.NET MAUI Blazor项目中放置相同的代码。您还可以添加和使用Blazor类库。这样,您可以在Web浏览器(Blazor WASM)和原生iOS/Android/Windows/Mac应用程序(.NET MAUI)中运行完全相同的代码。额外奖励:当在.NET MAUI上运行时,您运行本机,因此您可以访问所有本机组件/硬件,从Blazor添加推送通知等,您无法从Web App访问这些组件/硬件。请参阅Introduction to .NET MAUI Blazor视频以获得清晰的解释。在.NET MAUI应用程序中,BlazorWebView是一个组件,因此如果需要,您可以将其与XAML代码组合。但是,相反的情况并非如此,您不能在Blazor WASM Web应用程序中运行XAML UI。
1条答案
按热度按时间efzxgjgh1#
在.NET MAUI中增加了一个BlazorWebView组件,可以运行Blazor的全部代码,包括css和JavaScript互操作(所以它甚至可以运行各种JavaScript组件)。
由于在.NET MAUI Blazor项目中定义页面和wwwroot的方式与在Blazor WASM项目中完全相同,因此您可以共享Blazor页面,wwwroot,代码等:在Blazor WASM项目和.NET MAUI Blazor项目中放置相同的代码。您还可以添加和使用Blazor类库。这样,您可以在Web浏览器(Blazor WASM)和原生iOS/Android/Windows/Mac应用程序(.NET MAUI)中运行完全相同的代码。
额外奖励:当在.NET MAUI上运行时,您运行本机,因此您可以访问所有本机组件/硬件,从Blazor添加推送通知等,您无法从Web App访问这些组件/硬件。
请参阅Introduction to .NET MAUI Blazor视频以获得清晰的解释。
在.NET MAUI应用程序中,BlazorWebView是一个组件,因此如果需要,您可以将其与XAML代码组合。
但是,相反的情况并非如此,您不能在Blazor WASM Web应用程序中运行XAML UI。