概述
Avalonia
是一个强大的框架,使开发人员能够使用. NET创建跨平台应用程序。它使用自己的渲染引擎来绘制UI控件,确保在各种平台上保持一致的外观和行为,包括Windows,macOS,Linux,Android,iOS和WebAssembly。这意味着开发人员可以共享他们的UI代码,并保持统一的外观和感觉,而不管目标平台如何。
使用Avalonia构建的应用程序是用C#或F#编写的,这使得快速原型化应用程序变得容易,这些应用程序可以随着时间的推移开发成复杂的系统。与其他可能受到有限API限制或性能低下的工具包不同,Avalonia应用程序具有完全访问平台功能的优势,并提供令人难以置信的性能,这要归功于组合渲染器。
由于Avalonia应用程序是跨平台应用程序,它们的架构与其他传统的跨平台应用程序类似。最常见的方法是创建一个包含共享代码的核心项目,然后开发将使用此共享代码的特定于平台的项目。
Avalonia提供了两种创建用户界面的技术。第一个是使用代码构建UI视图,利用Avalonia提供的广泛的API。或者,开发人员可以利用可扩展应用程序标记语言(XAML),这是一种允许开发人员定义用户界面的声明性标记语言。在这种方法中,用户界面结构在XAML文件中描述,而运行时行为在单独的代码隐藏文件中定义。
开发者会很在意开源协议是什么,Avalonia的开源协议是宽松的MIT协议,免费可商用:
看看官网介绍
表示有一些公司也在使用。
为每个平台构建漂亮的应用程序不费力。
可以使用Visual Studio、Visual Studio Code、JetBrains Rider进行开发。
Avalonia被认为是WPF的精神继承者,Avalonia提供了熟悉的开发人员体验,允许您利用多年的预先存在的知识和投资。Avalonia受到JetBrains、AMD、佳能、施耐德电气、Unity Games等行业领导者的信任,使他们的WPF应用程序更加现代化。
Avalonia XPF。使用Avalonia XPF,我们的二进制兼容的跨平台WPF,可以实现跨平台WPF应用程序的最小更改。在Linux和macOS上运行WPF不仅是可能的,而且很容易!过去需要几个月的工作现在只需要几个小时。
注意Avalonia XPF是需要收费的。
Avalonia社区正在成长。
受开发者喜爱,受企业信任。
真的有说的这么好吗?得试试才知道!
实践
安装模板
打开cmd输入:
dotnet new install Avalonia.Templates
成功安装,之后界面如下所示:
创建项目
首先,我们将使用MVVM Avalonia模板: Avalonia MVVM Application
(或CLI中的 avalonia.mvvm
)。
我这里使用的是VS,需要先安装一下扩展:
在Visual Studio中,单击创建新项目。
在搜索框中键入 Avalonia
。
单击Avalonia应用程序,然后单击下一步。
允许选择您希望定位的平台:单击桌面,然后单击下一步。
允许选择设计模式:单击ReactiveUI,然后单击Create。
该模板将创建一个新解决方案和两个新项目。 GetStartedApp
是每个平台之间共享的主项目。 GetStartedApp.Desktop
是桌面平台的平台特定项目。
运行项目
右键单击 GetStartedApp.Desktop
项目并选择Set as Startup Project。
第一个Avalonia应用:
我也是刚开始学习,具体好不好用,得用了才知道。
如果以后有跨平台的需求,同时又喜欢C#与xaml可以试试Avalonia,还有一个Uno Platform,这个还没试过,试了再来介绍。
参考
1、AvaloniaUI/Avalonia: Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The most popular .NET UI client technology (github.com)
2、[Avalonia UI - Home](