Avalonia UI v11 候选版本 1:重大变更与 API 稳定化

Avalonia UI v11 发布候选版本(RC)发布

上月底,Avalonia UI 团队宣布了期待已久的版本 11 的第一个发布候选版本(RC)。此次发布标志着项目向前迈出了重要一步,主要目标是稳定 API,为最终版本的发布做好准备。

Avalonia UI 简介

Avalonia UI 是一个开源的跨平台 UI 框架,专为 .NET 开发者设计,支持在 Windows、macOS、Linux、iOS、Android 和 WebAssembly 上开发桌面应用程序。

v11 版本的主要变化

Avalonia UI v11 着重于可维护性,并引入了历史上最重大的 API 变更,以确保项目的未来发展。尽管此次发布引入了显著的破坏性变更,但团队预计未来的主要版本将减少对 API 的改动。

发布候选版本的里程碑意义

Avalonia UI 团队在官方博客中表示,此次 RC 版本是一个重要的里程碑,稳定了 API,标志着项目离最终发布更近了一步。

破坏性变更的细节

  • 部分类的可见性调整:一些之前公开的类被标记为“内部”,以保护应用程序的完整性,允许在不引入未来破坏性变更的情况下修改实现。
  • 开发者支持:开发者在遇到关键类不可见的情况下,可以联系 Avalonia UI 团队获取帮助,团队愿意根据用户反馈恢复某些类的公开可见性。

社区反馈与资源

开发者可以在 GitHub 讨论页面上找到大量社区反馈和见解,分享经验、提供建议并寻求迁移和故障排除的帮助。

迁移指南

Avalonia 11 迁移指南提供了详细的指令和建议,帮助开发者将现有代码库适配到新版本,涵盖破坏性变更、API 修改和最佳实践。

主要变更包括

  • 移除对 System.Reactive 的依赖:使用响应式功能的开发者需要在项目中手动添加 System.Reactive 包引用。
  • 弃用 IStyleable 接口:开发者可以在相关 GitHub 问题中了解更多信息。
  • 自动生成的 C# 代码:视图文件(如 .axaml/.axaml.cs.xaml/.xaml.cs)现在会自动生成 C# 代码。
  • ItemsControl 及其派生类的变化:如 ListBoxComboBox 现在同时具有 Items 属性和 ItemsSource
  • IAssetLoader 接口的替换:建议使用静态 AssetLoader 类。
  • AvaloniaObject.OnPropertyChanged 方法的修改:该方法现在是非泛型的。

其他变更

还包括事件、布局、焦点、视觉树、渲染等方面的变更,建议开发者详细阅读迁移指南。

团队邀请与感谢

Avalonia UI 团队邀请所有用户试用 RC 版本,提供反馈,并共同推动 Avalonia UI v11 成为最佳版本。团队对用户、贡献者和整个社区的支持表示感谢。

开始使用 Avalonia UI v11 RC

用户可以通过 NuGet 下载包,并参考官方文档和 GitHub 仓库了解更多信息和开始探索。

阅读 34
0 条评论