Avalonia:一个.NET跨平台UI框架

概述

Avalonia是一个强大的框架,使开发人员能够使用. NET创建跨平台应用程序。它使用自己的渲染引擎来绘制UI控件,确保在各种平台上保持一致的外观和行为,包括Windows,macOS,Linux,Android,iOS和WebAssembly。这意味着开发人员可以共享他们的UI代码,并保持统一的外观和感觉,而不管目标平台如何。

使用Avalonia构建的应用程序是用C#或F#编写的,这使得快速原型化应用程序变得容易,这些应用程序可以随着时间的推移开发成复杂的系统。与其他可能受到有限API限制或性能低下的工具包不同,Avalonia应用程序具有完全访问平台功能的优势,并提供令人难以置信的性能,这要归功于组合渲染器。

由于Avalonia应用程序是跨平台应用程序,它们的架构与其他传统的跨平台应用程序类似。最常见的方法是创建一个包含共享代码的核心项目,然后开发将使用此共享代码的特定于平台的项目。

Avalonia提供了两种创建用户界面的技术。第一个是使用代码构建UI视图,利用Avalonia提供的广泛的API。或者,开发人员可以利用可扩展应用程序标记语言(XAML),这是一种允许开发人员定义用户界面的声明性标记语言。在这种方法中,用户界面结构在XAML文件中描述,而运行时行为在单独的代码隐藏文件中定义。

image-20240606140935810

开发者会很在意开源协议是什么,Avalonia的开源协议是宽松的MIT协议,免费可商用:

image-20240607104013167

看看官网介绍

image-20240607104242409

表示有一些公司也在使用。

image-20240607104348081

为每个平台构建漂亮的应用程序不费力。

image-20240607104554986

可以使用Visual Studio、Visual Studio Code、JetBrains Rider进行开发。

image-20240607104715154

Avalonia被认为是WPF的精神继承者,Avalonia提供了熟悉的开发人员体验,允许您利用多年的预先存在的知识和投资。Avalonia受到JetBrains、AMD、佳能、施耐德电气、Unity Games等行业领导者的信任,使他们的WPF应用程序更加现代化。

Avalonia XPF。使用Avalonia XPF,我们的二进制兼容的跨平台WPF,可以实现跨平台WPF应用程序的最小更改。在Linux和macOS上运行WPF不仅是可能的,而且很容易!过去需要几个月的工作现在只需要几个小时。

注意Avalonia XPF是需要收费的。

image-20240607104933243

Avalonia社区正在成长。

image-20240607105009831

受开发者喜爱,受企业信任。

真的有说的这么好吗?得试试才知道!

实践

安装模板

打开cmd输入:

dotnet new install Avalonia.Templates

成功安装,之后界面如下所示:

image-20240606142153619

创建项目

首先,我们将使用MVVM Avalonia模板: Avalonia MVVM Application (或CLI中的 avalonia.mvvm )。

我这里使用的是VS,需要先安装一下扩展:

image-20240607105625887

在Visual Studio中,单击创建新项目。

在搜索框中键入 Avalonia

单击Avalonia应用程序,然后单击下一步。

image-20240606143031767

允许选择您希望定位的平台:单击桌面,然后单击下一步。

允许选择设计模式:单击ReactiveUI,然后单击Create。

image-20240606143510800

该模板将创建一个新解决方案和两个新项目。 GetStartedApp 是每个平台之间共享的主项目。 GetStartedApp.Desktop 是桌面平台的平台特定项目。

image-20240606143821075

运行项目

右键单击 GetStartedApp.Desktop 项目并选择Set as Startup Project。

image-20240606144021721

第一个Avalonia应用:

image-20240606144150864

我也是刚开始学习,具体好不好用,得用了才知道。

如果以后有跨平台的需求,同时又喜欢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](

posted @ 2024-06-10 21:33  mingupupup  阅读(135)  评论(0编辑  收藏  举报