Avalonia 11.1 正式发布:跨平台应用开发的飞跃

本文来自Avalonia UI开发团队,原文请访问

https://avaloniaui.net/blog/avalonia-11-1-a-quantum-leap-in-cross-platform-ui-development

419aa20da8c843d6df57cfff59eff6fc.png

我们非常高兴地宣布 Avalonia 11.1 的发布,这是我们跨平台用户界面框架的一次重大更新。虽然从技术上讲这是一个小版本更新,但改进的数量和影响力使其更像是一次重大升级。这个版本代表了我们敬业的团队和社区贡献者无数小时的辛勤工作,带来了许多新功能、性能提升和全方位的改进。接下来让我们深入探讨这一版本中最令人兴奋的更新内容,这些将使您能够创建更加出色的跨平台应用程序。

增强跨平台支持

Avalonia 一直以支持广泛的平台而自豪,而11.1版本将这一点提升到了新的高度:

电视支持:Avalonia 11.1显著扩大了其在智能电视生态系统中的影响力,支持三星Tizen和苹果电视平台。这一扩展为开发人员带来了将应用程序融入大屏幕生态的新可能性。通过支持三星Tizen,您现在可以针对三星的智能电视和其他基于Tizen的设备,进入这个不断增长的细分市场。同时,添加苹果电视支持使您能够在苹果生态系统内创建令人赞叹的用户界面体验。这些新功能对于希望将应用程序扩展到客厅或创建独特的基于电视的体验的开发者来说尤其重要。

浏览器改进:Avalonia的浏览器支持已得到显著增强。我们实现了一种新的软渲染,提供了更好的性能和跨浏览器兼容性。此外,框架现在允许多个AvaloniaView实例,这可以帮助开发者创建更复杂和动态的Web应用程序。这些改进极大地提高了Avalonia应用程序在Web浏览器中运行的灵活性和性能,使其成为Web项目的更可行选项。

Android和iOS增强功能:这次更新包含对Android和iOS后端进行的各种改进,包括输入处理、键盘交互和常规的稳定性改进。通过这些优化,无论是肯拉着或是最终用户,都可以确保在移动平台上获得更加流畅的体验。

性能优化

性能一直是我们的重中之重,Avalonia 11.1 在这方面取得了显著的改进:

Vulkan 后端:一个重要的新增功能是新的 Vulkan 渲染后端。这种现代的、低开销的图形API可以提供显著的性能提升,尤其是在原生支持的平台上。Vulkan 提供了对GPU更直接的控制,允许应用更好地利用图形硬件。这可以提高渲染性能,并降低功耗,这对于移动设备和高性能桌面应用程序尤为关键。

渲染优化:本次更新对渲染管线进行了多项优化,包括改进脏矩形处理、变换操作和常规绘图性能。这些改进可以使动画更流畅,UI更新更快速,应用程序的响应更加迅速。团队投入了大量努力来减少不必要的重绘和优化渲染过程,在具有许多元素的复杂UI中性能提升尤其明显。

资源管理:经过这次更新,Avalonia现在拥有更好的资源管理,包括字体和XAML资源,减少内存使用和加快应用程序启动时间。框架现在采用了更高效的缓存机制和懒加载策略,确保资源仅在需要时加载。这不仅改善了初始加载时间,还有助于减少应用程序的整体内存占用。

用户界面和用户体验改进

Avalonia 11.1 引入了若干功能,帮助开发者创建更加精致和用户友好的界面:

HyperlinkButton控件:新增了一个全新的 HyperlinkButton 控件,使得在用户界面中实现可点击链接变得更加简单。这个控件具有内置的超链接样式和行为,为开发者节省时间并确保应用程序跨平台的行为一致。

改进的Tooltip系统:Tooltip系统经过彻底改革,新增了如链式Tooltip和 BetweenShowDelay 属性等功能。链式Tooltip允许创建更复杂的信息层次结构,当从一个元素移动到另一个相关元素时,相关信息保持可见。BetweenShowDelay 属性提供了对工具提示时间的精细控制,允许更复杂的工具提示行为。

增强的 ScrollViewer:对 ScrollViewer 的改进包括更好地处理鼠标滚轮的滚动吸附,提供了更平滑的滚动体验。增强后的 ScrollViewer 现在提供了更自然的滚动感觉,能够适应从触摸板到传统鼠标滚轮的不同输入方式。这使您的应用程序,尤其是那些有长内容可滚动的应用程序,感觉更加精致。

开发者生产力特性

Avalonia 11.1 引入了多项新特性和工具,旨在让开发者的工作更轻松、更高效:

改进的 DevTools:本次更新增强了内置的开发者工具,新增了焦点追踪和属性固定功能。焦点追踪功能使开发者可以轻松实时跟踪哪个元素具有焦点,这对于调试复杂的输入场景非常重要。在属性检查器中固定属性的能力使得在与应用程序交互时更容易监控特定的值。

XAML 改进:XAML 系统进行了众多改进,包括更好的泛型处理、更高效的编译绑定以及增强的XAML相关问题诊断。改进的泛型支持允许更灵活和可重用的组件定义。编译绑定现在生成更优化的代码,从而提高运行时性能。增强的诊断提供了更清晰的错误信息和警告,帮助开发者在开发周期的早期捕捉并解决问题。

增强的绑定系统:数据绑定系统已经完成重构,改进了 MultiBinding,更好地处理了在样式设置器中的 ICommand 绑定,并且改进了 PropertyChanged 事件的响应性。MultiBinding 现在可以更优雅地处理 null 值并提供更好的性能。在样式设置器中 ICommand 绑定的改进使得以更声明式的方式创建交互式 UI 元素变得更容易。响应性改进后的 PropertyChanged 事件确保您的 UI 更可靠地与数据模型保持同步。

新的转换器类型:本次更新引入了支持参数的 FuncValueConverter,为数据转换场景提供了更多的灵活性。这种新的转换器类型允许更简洁、易读的绑定表达式,特别是对于不需要完整转换器类的简单转换。它对于快速原型设计或简单的一次性转换特别有用。

图形和动画增强 

在这次发布中,图形功能得到了扩展:

新的像素格式:增加了对 Rgb32 和 Bgr32 像素格式的支持,为图像处理和操作提供了更多选项。这些新格式允许对某些类型的图像进行更有效的处理,并可能在图像密集型应用程序中带来性能改善。它们还提供了与某些外部成像库和文件格式更好的兼容性。

改进的画笔处理:TileBrush 和 DrawingBrush 得到增强,现在提供了更强大和灵活的选项,用于创建复杂的图形效果。TileBrush 现在提供了对平铺行为的更好控制,包括对边缘情况的改进处理。DrawingBrush 已针对性能进行了优化,现在支持更复杂的绘图操作。这些改进允许用更少的代码和更好的性能创建更复杂的视觉效果。

动画优化:动画系统得到了改进,包括修复 Animator 类处理小于零的进度值的问题。这确保了更平滑、更可预测的动画,特别是对于复杂的序列或处理动态变化值时。此外,动画的整体性能已经提高,允许执行更复杂的动画而不影响应用程序的响应性。

辅助功能和国际化 

Avalonia 继续改进其支持创建可访问应用程序的能力:

改进的屏幕阅读器支持:包括 DataGrid 在内的各种控件的自动化属性都已经增强,提高屏幕阅读器的兼容性。这包括更好的标签、更具描述性的状态变化和改进的导航支持。这些增强功能使得开发者更容易创建可供视觉障碍人士使用的应用程序,而无需进行大量额外编码。

更好的输入法编辑器(IME)支持:本次更新对输入法编辑器的处理进行了改进,特别是对需要复杂输入方法的语言用户非常有益。这包括更好的处理组合事件、改进的光标定位和更可靠的文本插入。这些增强功能使 Avalonia 应用程序对于使用中文、日语和韩语等语言的用户更加友好。

增强的本地化支持:添加了新的 API,使本地化内置控件和消息更加容易。这包括改进管理本地化字符串的资源系统和更好地支持RTL语言。这些功能简化了创建能够触及全球受众的应用程序的过程。

新的窗体功能 

对窗体管理进行了多项改进,增强了开发者对其应用程序展示的灵活性和控制:

多显示器 DPI 缩放:在多个显示器上更好地处理 DPI 缩放,确保您的应用程序在所有显示器上看起来清晰且大小正确。在当今多样化的计算环境中,用户经常拥有具有不同缩放参数的多个显示器,这一点尤其重要。Avalonia 现在更优雅地处理这些场景,确保在所有屏幕上的外观一致性。

窗体 Z-Order API:一个用于获取窗口 Z-order的新 API 使开发者对窗口堆叠和管理有了更多控制。这对于管理多个窗口或创建自定义窗口管理行为的应用程序特别有用。它允许更复杂的 MDI 风格接口或自定义窗口管理解决方案。

改进的窗口大小和定位:对窗口大小、定位和状态管理的各种增强提供了更可靠和一致的行为,跨平台表现更加稳定。这包括更好的处理最大化和最小化状态、更准确的初始定位和改进的调整大小行为。这些改进确保您的应用程序在不同的操作系统和窗口管理器中表现出可预测的行为。

文件系统集成 

Avalonia 11.1 提升了其与原生文件系统的集成,使创建与宿主操作系统无缝工作的应用程序变得更加容易:

增强的文件对话框:文件选择器对话框已得到改进,更好地支持文件类型过滤和初始目录选择。这些增强功能使创建符合平台期望的直观文件选择体验变得更容易。改进的过滤选项允许用户更精细地控制可以选择的文件类型。

文件激活支持:处理文件激活事件的新 API 使在您的应用程序中实现文件关联功能变得更容易。这允许您的 Avalonia 应用程序在用户从操作系统打开文件时做出响应,提供更加集成的体验。这对于以文档为中心的应用程序或处理特定文件类型的工具尤其有用。

构建和部署改进

本次更新改善了构建和部署过程,使创建和分发 Avalonia 应用程序变得更容易:

NativeAOT 支持:改进的 NativeAOT 编译支持确保 Avalonia 应用程序可以充分利用这项增强性能的技术。NativeAOT 通过提前将您的应用程序编译成本地代码,可以实现更快的启动时间和减少内存使用。这对于启动性能至关重要的桌面应用程序特别有益。

简化资源处理:程序集资源的处理方式改进有助于减小应用程序的大小,缩短加载时间。资源系统已经优化,以减少重复和提高加载效率。拥有许多嵌入资源的较大应用程序在程序大小上有显著降低。

增强的 XAML 编译:对 XAML 编译过程的改进提供了更好的性能和更可靠的错误报告。编译器现在生成更优化的代码,并在检测到问题时提供更清晰的错误信息。这有助于在开发过程中更早地捕捉问题,并结果于更好的运行时性能。

这些构建和部署的更新可以让应用程序更小,更快。

结语

Avalonia 11.1 代表了该框架向前迈出的重要一步。这些改进的广度和深度展示了我们团队致力于提供一流的跨平台用户界面开发体验的承诺。从扩展的平台支持和性能优化,到增强的开发者工具和改善的可访问性,这一版本几乎触及了框架的每一个方面。

我们鼓励所有 Avalonia 开发者升级到这个新版本,并探索它提供的丰富新功能和改进。您的反馈和贡献对于塑造 Avalonia 的未来至关重要,所以请不要犹豫,与社区分享您的经验和建议。

我们想对所有参与这次发布的贡献者表示衷心的感谢,无论是核心团队还是社区的成员。你们的辛勤工作、创造力和奉献是 Avalonia 如此强大和受欢迎的原因。

祝您开发愉快,我们迫不及待地想看到您使用 Avalonia 11.1 创建的令人惊艳的应用程序!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值