历史上,我们使用webview和类似MVC的框架创建了跨平台的xamarin应用程序作为混合应用程序,以创建我们的视图(使用剃刀(并处理用户操作。这起到了作用,并保持了整洁(而且似乎比走xamarin形式的路线更快、更容易(。然而,它看起来相当古怪,有些违背常理。
对于我们正在进行的一个项目,我们已经使用Blazor(webassembly(创建了许多web功能。我们现在需要为移动设备创建一个合作伙伴应用程序。在第一个实例中,web UI和应用程序UI之间几乎没有交叉,但它们将使用相同的webapi调用和对象。对于移动应用程序来说,恢复到旧的类似MVC的框架没有什么意义,因为我们可以在Blazor webassembly中更巧妙地完成所有UI。这是一条可行的路线吗?我可以看到它以以下方式工作:
实验性移动绑定:我读过关于实验性移动Blazor绑定的文章,但"实验性"一词让我望而却步
使用网络视图——对我来说,这看起来是最简单的方法,创建一个Blazor网络程序集并将其作为资源分发,然后应用程序就是一个显示网络程序集的网络视图。该计划中的缺陷将是在不同的视图之间共享数据(并使导航正常工作(,以及在应用程序和网络程序集之间(即登录详细信息(共享数据,因为它们将处于不同的上下文中。
这两种方法都可行吗?还是我完全错过了什么。最大的担忧是,该应用程序将在未来几年内添加和扩展,因此我们需要确保我们不会使用很快成为遗留的东西(或我们可以轻松迁移的东西(。
签出https://jspuij.github.io/BlazorWebView.Docs/pages/androidtutorial.html?tabs=addandroid-3项目
本教程用于创建一个运行blazor webassembly 的Android项目
基本上,你创建了一个Blazor项目,一个Razor Classlib,包含页面、组件、静态内容和Android项目。
使用BlazorWebView Nuget包,您可以渲染Blazor Webassembly项目