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 及其派生类的变化:如
ListBox
和ComboBox
现在同时具有Items
属性和ItemsSource
。 - IAssetLoader 接口的替换:建议使用静态
AssetLoader
类。 AvaloniaObject.OnPropertyChanged
方法的修改:该方法现在是非泛型的。
其他变更
还包括事件、布局、焦点、视觉树、渲染等方面的变更,建议开发者详细阅读迁移指南。
团队邀请与感谢
Avalonia UI 团队邀请所有用户试用 RC 版本,提供反馈,并共同推动 Avalonia UI v11 成为最佳版本。团队对用户、贡献者和整个社区的支持表示感谢。
开始使用 Avalonia UI v11 RC
用户可以通过 NuGet 下载包,并参考官方文档和 GitHub 仓库了解更多信息和开始探索。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。