微软的MAUI(多平台应用UI)是官方的.NET跨平台桌面和移动应用解决方案,现在将通过第三方框架Avalonia获得Linux和浏览器支持。
MAUI是Xamarin Forms的演进版本,Xamarin Forms是一个最初在微软外部开发的.NET跨平台框架,2016年与Mono一起被微软收购,Mono是.NET的第一个开源实现。
MAUI目前支持的平台包括Android、iOS、Mac Catalyst和Windows。Mac Catalyst是苹果的API,用于在macOS上运行iPad应用,但相比完整的AppKit API有一定局限性。在Windows平台上,MAUI使用WinUI 3框架。
这个支持列表中明显缺少Linux,尽管.NET在Linux上运行Web应用程序表现良好。Xamarin Forms曾对GTK#提供预览支持,GTK#是GTK的.NET封装,GTK是GNOME桌面使用的小部件工具包,但这一支持并未延续到MAUI。虽然Linux桌面市场份额相对Windows和Mac较小,但使用量正在增长,可能高达百分之三,这得益于微软决定让较旧硬件与Windows 11不兼容。Linux在嵌入式应用中也被广泛使用。
为跨平台.NET应用提供开源框架的AvaloniaUI公司现在挺身而出,增加了这一支持。根据首席执行官Mike James的一篇文章,团队一直在为MAUI开发新的后端,使用Avalonia渲染器来渲染UI,而不是MAUI使用的原生控件。James表示,这项工作"在MAUI生态系统工程师的指导和反馈下"完成,暗示但未明确表示微软开发者是支持的。此外,由于Avalonia支持WebAssembly,新方法将使MAUI应用能够在浏览器中运行。
这项技术背后有一些历史背景。资深开发者会回想起Java桌面应用的早期时代,以及关于控件应该由框架绘制(如Java Swing所做)还是调用API显示原生控件(如IBM首先开发的SWT标准小部件工具包所做)的争论。使用原生控件更适合实现操作系统的外观和感觉,但使跨平台代码变得更困难,因为这些控件在不同系统上并非完全匹配。
最初的Xamarin开发者确信原生控件能提供出色的用户体验,这一理念一直延续到MAUI。相比之下,Avalonia绘制自己的控件。据James说,"您不仅可以获得更多平台和改进的性能,您的MAUI应用程序在Windows、macOS、Linux、移动设备上或在浏览器标签中运行时都能保持一致的外观和行为。"James表示,Avalonia后端将在所有平台上可用,不仅仅是Linux和浏览器,并声称性能更好,特别是在macOS上。
反对的观点是,虽然MAUI开发者会欢迎Linux支持,但这并非同一回事,那些因为MAUI使用原生控件渲染而偏爱它的开发者会感到失望。
该项目的当前状态是WebAssembly支持的示例已在线,但除了承诺在2026年第一季度提供预览访问的注册之外,没有进一步进展。
即将到来的支持背后的商业模式尚未说明,除了James表达希望使用Avalonia渲染器的MAUI开发者可能会在未来项目中转向AvaloniaUI。
Avalonia的另一个关键发展是该项目可能会从Skia(一个开源2D图形库)转向Impeller,Impeller是Google为其Flutter框架开发的。像Avalonia一样,Flutter绘制自己的控件,团队开发Impeller是为了克服Skia的性能问题。Avalonia现在正走同样的道路,团队为Impeller创建了.NET封装,现在在GitHub上称为Nimpeller,尽管切换还处于早期阶段。根据该文章:"Impeller提供流畅、一致的性能、更高的平均帧率和减少的VRAM使用。"
Q&A
Q1:MAUI是什么?支持哪些平台?
A:MAUI是微软官方的多平台应用UI解决方案,是.NET跨平台桌面和移动应用的框架。它是Xamarin Forms的演进版本,目前支持Android、iOS、Mac Catalyst和Windows平台。
Q2:为什么MAUI不支持Linux平台?
A:虽然.NET在Linux上运行Web应用程序表现良好,但MAUI没有包含Linux支持。Xamarin Forms曾对GTK#提供预览支持,但这一支持并未延续到MAUI。尽管Linux桌面市场份额相对较小,但使用量正在增长。
Q3:Avalonia如何为MAUI提供Linux和浏览器支持?
A:AvaloniaUI公司为MAUI开发了新的后端,使用Avalonia渲染器来渲染UI,而不是MAUI使用的原生控件。由于Avalonia支持WebAssembly,这种新方法将使MAUI应用能够在浏览器中运行,并提供Linux支持。
好文章,需要你的鼓励
Infinidat发布InfiniBox G4系列最新升级,实现容量翻倍、物理占用空间缩减31%、入门价格降低29%。新款InfiniBox SSA G4 F24仅占11个机架单元,起始容量77TB。混合系统单机架最大有效容量从17.2PBe跃升至33PBe,增幅达92%。系统原生集成S3对象存储协议,支持文件、块和对象存储统一管理,能效比竞品高7倍。
香港大学联合多家顶尖机构开发出推测性雅可比降噪解码技术,巧妙融合扩散模型降噪与自回归并行处理,将AI图像生成速度提升2-5倍。该方法通过训练模型处理噪声输入并预测干净标记,实现多位置同时生成,在保持图像质量的同时大幅缩短等待时间,为AI创作应用带来革命性改善。
微软的MAUI跨平台应用开发框架将通过第三方框架Avalonia获得Linux和浏览器支持。MAUI目前支持Android、iOS、Mac Catalyst和Windows平台,但缺少Linux支持。AvaloniaUI公司正在为MAUI开发新的后端,使用Avalonia渲染器替代原生控件,同时支持WebAssembly在浏览器中运行。该方案预计2026年第一季度提供预览版本。
韩国大学等机构研究团队提出TAG方法,解决AI绘画中的"幻觉"问题。该方法通过放大扩散过程中的切线分量来引导AI生成更真实图像,无需重训练模型且计算成本极低。实验显示TAG能显著改善图像质量,减少不合理细节如多指手等,同时可与现有引导技术结合使用,为AI绘画领域提供了简单有效的优化方案。