文章摘要
Avalonia发布了首个.NET MAUI后端预览版,使MAUI应用能支持Linux和WebAssembly平台。开发者只需简单四步即可集成Avalonia,无需额外配置。该方案既保持了跨平台一致性,又支持原生界面风格选择,推进了Avalonia的跨平台愿景。
文章总结
标题:MAUI Avalonia 预览版1发布 - 跨平台UI新选择
核心内容:
- 产品发布
- 伴随Avalonia 12和.NET 11预览版,推出首个Avalonia for .NET MAUI预览版
- 新增支持Linux和WebAssembly平台部署
- 实现跨平台UI一致性,用户可选择原生或自定义界面风格
- 快速入门(四步部署)
① 创建.NET MAUI应用
② 添加
Avalonia.Controls.Maui.DesktopNuGet包 ③ 添加net11.0目标框架 ④ 在MauiBuilder中调用UseAvaloniaApp
- 内置启动器简化配置流程,支持自定义扩展
- 技术升级
- 新增导航API和控制组件(随Avalonia 12发布)
- 基于Avalonia基础架构构建,支持全API定制
- 采用绘制式渲染,确保多平台显示一致性
- 测试验证 成功移植多个典型应用案例:
- 基础测试:MauiPlanets、2048游戏
- 复杂场景:.NET MAUI控件库、AlohaAI教育应用(支持深色/浅色主题)
- 商业案例:MyConference会议系统(解决CORS代理问题)
- 图形处理:完美兼容GraphicsView和SkiaSharp相关库
- 原生与绘制对比
- 原生方案:更好融入宿主操作系统
- Avalonia方案:跨平台表现一致
- 开发者可根据需求自由选择
- 未来规划
- 开发Avalonia版Maui.Essentials
- 实现WinUI互操作性
- 建立控件库扩展模式规范
项目进展: 自2025年秋季启动以来,已实现核心功能支持,正朝着.NET 11正式版发布稳步推进。开发者可通过GitHub仓库获取示例代码进行体验。
(注:原文中所有图片链接及部分技术细节已精简,保留关键信息节点)
评论总结
以下是评论内容的总结,平衡呈现不同观点并保留关键引用:
对Linux支持不足的批评
- 认为Linux支持常不完善,特别是Wayland的复杂性导致工具包支持有限
引用:"I wish they support Linux wholeheartedly... It is difficult to find high-level toolkits that support all of the above." (Ciantic)
引用:"Microsoft despite reinventing their .NET GUI stack every few years, they never add Linux support." (giancarlostoro)
- 认为Linux支持常不完善,特别是Wayland的复杂性导致工具包支持有限
对微软技术策略的质疑
- 批评微软在WinForms仍存在的情况下推出新框架
引用:"Microsoft adding Linux support for yet another framework nobody asked for while WinForms still exists..." (soumyaskartha) - 认为MAUI项目不被微软真正重视
引用:"Even MS doesn't fully believe in Maui, as it seems they reblessed WPF." (exceptione)
- 批评微软在WinForms仍存在的情况下推出新框架
对Avalonia的积极评价
- 赞赏Avalonia实现GNU/Linux支持
引用:"Kudos to Avalonia to make it happen on GNU/Linux." (pjmlp) - 认为Avalonia已是跨平台桌面开发标准
引用:"their own free regular WPF-like Avalonia UI toolkit is already the standard for cross desktop development." (exceptione)
- 赞赏Avalonia实现GNU/Linux支持
技术实现疑问
- 对WASM在UI中的角色表示困惑
引用:"I'm struggling to understand how wasm is involved... it's called by javascript instead." (politelemon) - 对商业应用授权费用的担忧
引用:"I would need to dish out 125000 EUR per application... unclear what triggers the difference between free and paid plan." (general1465)
- 对WASM在UI中的角色表示困惑
名称混淆提醒
- 指出MAUI与现有MauiKit框架无关
引用:"this MAUI has nothing to do with the pre-existing cross platform UI framework MauiKit." (blendergeek)
- 指出MAUI与现有MauiKit框架无关
对.NET在Linux价值的质疑
- 直接质疑.NET在Linux的必要性
引用:"Why would anyone want .NET on Linux?" (zteppenwolf) - 但也有开发者表达对Linux支持的期待
引用:"I love MAUI but hate that it has no support for Linux." (giancarlostoro)
- 直接质疑.NET在Linux的必要性