Avalonia 初学笔记(1):环境配置

相关链接

Avalonia学习笔记 CSDN博客专栏

前言

最近想了解一下Avalonia,毕竟是WPF的上位替代。WPF 作为一个2006年开发的应用,已经进入维护阶段了,基本不会新增什么新功能了。而且WPF不能跨平台,而C#能跨平台就这么几个框架:

收费情况 跨平台程度 优点 缺点 使用场景
Avalonia 开源 桌面端支持比较好,移动端较差 使用起来和WPF差不多,在WPF原有功能上进行扩展 移动端支持较差,没有被微软收编 Linux/Windows双端跨平台
MAUI 开源 仅不支持Avalonia 移动端适配较好 Bug太多了,开发人员接受度不高 自己私下玩玩,不能商用
Unity 商用 可以跨平台,但是我了解的不多 非常成熟的框架,社区资源和解决方案非常丰富,如果要做3D效果的首选 Unity写前端有点大材小用,Unity运营问题导致开发人员逃离 有3D效果的需求
Godot 开源 跨平台 完全开源,Mono历史包袱小,已使用.net core 开发了新版本 社区支持,更新速度没商业的快 自己玩玩

Avalonia 官方文档

Avalonia 官方文档

在这里插入图片描述

Avalonia 环境配置

Avalonia UI 官网

在这里插入图片描述

我的本地环境

我这里的本地环境是

  • visual studio 2022
  • .net core 6.0/7.0/8.0
  • windows 10

下载Visual Studio Avalonia 插件

在这里插入图片描述

Visual Studio 2022 Avalonia 扩展

下载速度可能会有点慢

在这里插入图片描述
在这里插入图片描述
如果下载或者实在太慢,可以使用Visual Studio 内部搜索

在这里插入图片描述
安装Avalonia项目模板

打开PowerShell运行下面的指令

dotnet new install Avalonia.Templates

在这里插入图片描述

安装成功!

在这里插入图片描述

Avalonia 新建项目

平台选择

我们这里选择第一个

在这里插入图片描述
作为商业化工控软件,跨平台的优先顺序是

  • Windows
  • Android
  • Linux
  • IOS/MAC OS

苹果的设备放在最后,原因有

  • 是工控行业不用苹果
  • Linux有信创的需求,需要跑在国产Linux上面,比如麒麟。
  • IOS审核比较麻烦,生态封闭

新建项目

在这里插入图片描述

平台选择

在这里插入图片描述
这里我们先选择桌面端,第一个

设计器选择

在这里插入图片描述

Reactive UI Github地址

在这里插入图片描述

在这里插入图片描述

CommunityToolkit
在这里插入图片描述

在这里插入图片描述

我之前用过CommunityToolkit.MVVM,Reactive UI没用过。两个的区别更像补丁和框架之间的区别,CommunityToolkit.MVVM更轻量,Reactive UI 提供了一个自己的解决方案。我们这里是了解Avalonia,所以先用CommunityToolkit.MVVM看看。

mvvm toolkit vs reactiveui

在这里插入图片描述

扩展选择

在这里插入图片描述

最终选择

在这里插入图片描述

默认项目运行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

启动成功!

在这里插入图片描述

Avalonia 官方Demo

在这里插入图片描述

Avalonia.Samples 简单项目

在这里插入图片描述

这里我就不展开了,可以自己去了解一下。

总结

这里就是简单的跑一下代码,把环境配置好了。但是我看官方更加推荐使用Reactive UI。我后面的选择就是先学Reactive UI还是先学Avalonia。我目前打算先去了解一下Reactive UI。毕竟我还是随大流主义,如果我在选择上面纠结,那么哪个框架星星多我就用哪个。当然我也可以边学Avalonia边学Reactive UI。这个我得先琢磨一下。

在这里插入图片描述

相关推荐

  1. Avalonia笔记5-数据绑定

    2024-02-21 18:34:03       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-21 18:34:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-21 18:34:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-21 18:34:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-21 18:34:03       18 阅读

热门阅读

  1. 【达梦数据库】通过系统函数来配置sqllog

    2024-02-21 18:34:03       26 阅读
  2. 设计模式的另一种有趣理解

    2024-02-21 18:34:03       25 阅读
  3. HTTP常见状态码(持续更新中~~)

    2024-02-21 18:34:03       27 阅读
  4. 强化学习入门(Matlab2021b)-创建环境【3】

    2024-02-21 18:34:03       26 阅读
  5. 【c++入门】算得分

    2024-02-21 18:34:03       31 阅读
  6. 一起不能上某几个网站的事件处理

    2024-02-21 18:34:03       33 阅读
  7. 聊聊arthas的spring-boot-starter

    2024-02-21 18:34:03       27 阅读
  8. 【算法学习】搜索算法之深度优先搜索

    2024-02-21 18:34:03       26 阅读