Hacker News 中文摘要

RSS订阅

MAUI 即将登陆 Linux -- MAUI Is Coming to Linux

文章摘要

Avalonia发布了首个.NET MAUI后端预览版,使MAUI应用能支持Linux和WebAssembly平台。开发者只需简单四步即可集成Avalonia,无需额外配置。该方案既保持了跨平台一致性,又支持原生界面风格选择,推进了Avalonia的跨平台愿景。

文章总结

标题:MAUI Avalonia 预览版1发布 - 跨平台UI新选择

核心内容:

  1. 产品发布
  • 伴随Avalonia 12和.NET 11预览版,推出首个Avalonia for .NET MAUI预览版
  • 新增支持Linux和WebAssembly平台部署
  • 实现跨平台UI一致性,用户可选择原生或自定义界面风格
  1. 快速入门(四步部署) ① 创建.NET MAUI应用 ② 添加Avalonia.Controls.Maui.Desktop NuGet包 ③ 添加net11.0目标框架 ④ 在MauiBuilder中调用UseAvaloniaApp
  • 内置启动器简化配置流程,支持自定义扩展
  1. 技术升级
  • 新增导航API和控制组件(随Avalonia 12发布)
  • 基于Avalonia基础架构构建,支持全API定制
  • 采用绘制式渲染,确保多平台显示一致性
  1. 测试验证 成功移植多个典型应用案例:
  • 基础测试:MauiPlanets、2048游戏
  • 复杂场景:.NET MAUI控件库、AlohaAI教育应用(支持深色/浅色主题)
  • 商业案例:MyConference会议系统(解决CORS代理问题)
  • 图形处理:完美兼容GraphicsView和SkiaSharp相关库
  1. 原生与绘制对比
  • 原生方案:更好融入宿主操作系统
  • Avalonia方案:跨平台表现一致
  • 开发者可根据需求自由选择
  1. 未来规划
  • 开发Avalonia版Maui.Essentials
  • 实现WinUI互操作性
  • 建立控件库扩展模式规范

项目进展: 自2025年秋季启动以来,已实现核心功能支持,正朝着.NET 11正式版发布稳步推进。开发者可通过GitHub仓库获取示例代码进行体验。

(注:原文中所有图片链接及部分技术细节已精简,保留关键信息节点)

评论总结

以下是评论内容的总结,平衡呈现不同观点并保留关键引用:

  1. 对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)
  2. 对微软技术策略的质疑

    • 批评微软在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)
  3. 对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)
  4. 技术实现疑问

    • 对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)
  5. 名称混淆提醒

    • 指出MAUI与现有MauiKit框架无关
      引用:"this MAUI has nothing to do with the pre-existing cross platform UI framework MauiKit." (blendergeek)
  6. 对.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)