能否用Blazor替代XAML实现原生应用GUI渲染?是否值得学习?
关于是否学习Blazor的疑问与诉求
自身技术背景说明
- 已具备完善的Web开发技术栈(TypeScript+相关框架),无需Blazor作为Web开发替代方案
- 不需要Blazor的服务器功能,ASP.NET完全能满足相关需求
核心学习诉求:用Blazor替代XAML负责原生应用GUI渲染
希望Blazor能替代XAML,用于.NET MAUI这类原生应用的GUI渲染,原因如下:
- HTML+CSS比XAML更灵活
- 可在原生应用中复用已有的HTML+CSS开发成果
WebView原生应用的两种模式
需要明确使用WebView的原生应用存在两种不同情况:
- WebView中运行前端Web应用:这类应用存在诸多限制,没有原生应用的核心价值,大多可被PWA替代,具体限制包括:
- 无法操作本地文件
- 无法使用本地数据库(不讨论IndexedDB)
- 无法调用原生API
- 无法离线工作
- WebView仅用于GUI渲染:WebView仅承担界面渲染工作,同时可实现与原生API交互、操作本地文件、本地数据库等功能。该模式已在Electron.js中实现,但Electron.js不支持移动设备。
我希望Blazor具备第二种模式的功能。
对Blazor Hybrid的疑问
Blazor Hybrid可能正是我需要的,但存在不确定点:
- Blazor Hybrid包含Web组件(
wwwroot目录),如果同时存在Web版本,要么原生应用版本与Web版本逻辑完全不同,要么原生版本会继承Web版本的限制(比如无法操作本地文件系统等)。
内容的提问来源于stack exchange,提问作者Takeshi Tokugawa YD
相关产品推荐
相关产品推荐

