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

文章目录

  • 相关链接
  • 前言
  • Avalonia 官方文档
  • Avalonia 环境配置
    • 我的本地环境
    • 下载Visual Studio Avalonia 插件
  • Avalonia 新建项目
    • 平台选择
    • 新建项目
      • 平台选择
      • 设计器选择
      • 扩展选择
      • 最终选择
    • 默认项目运行
  • Avalonia 官方Demo
  • 总结

相关链接

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。这个我得先琢磨一下。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/260316.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

揭秘智能商品计划管理系统:为何服装企业老板争相引入?

在如今日新月异的商业环境中,服装企业老板们纷纷将目光转向了一种名为“智能商品计划管理系统”的创新工具。这种系统不仅具有高度的自动化和智能化特性,还能显著提升企业的运营效率、减少库存积压,并帮助企业在激烈的市场竞争中占据优势地位…

springboot当中使用EMQX(MQTT协议)

本篇博客主要围绕EMQX是什么?、能干什么?、怎么用? 三点来进行整理。 1、MQTT协议 1.1、MQTT简介 在了解EMQX前首先了解一下MQTT协议,MQTT 全称为 Message Queuing Telemetry Transport(消息队列遥测传输&#xff0…

【从Python基础到深度学习】 8. VIM两种状态

一、安装 sudo apt install vim 二、VIM两种模式 - 命令状态/编辑状态 1.1 进入/退出VIM 进入VIM vim 退出vim :q <enter> 2.2 根目录下添加配置文件 window下创建vimrc类型文件内容如下&#xff1a; set nu set cursorline set hlsearch set tabstop4 使用Wins…

如何在CentOS安装SQL Server数据库并实现无公网ip环境远程连接

文章目录 前言1. 安装sql server2. 局域网测试连接3. 安装cpolar内网穿透4. 将sqlserver映射到公网5. 公网远程连接6.固定连接公网地址7.使用固定公网地址连接 前言 简单几步实现在Linux centos环境下安装部署sql server数据库&#xff0c;并结合cpolar内网穿透工具&#xff0…

http相关概念以及apache的功能

概念 互联网&#xff1a;是网络的网络&#xff0c;是所有类型网络的母集 因特网&#xff1a;世界上最大的互联网网络 万维网&#xff1a;www &#xff08;不是网络&#xff0c;而是数据库&#xff09;是网页与网页之间的跳转关系 URL:万维网使用统一资源定位符&#xff0c;…

【JVM篇】ThreadLocal中为什么要使用弱引用

文章目录 &#x1f354;ThreadLocal中为什么要使用弱引用⭐总结 &#x1f354;ThreadLocal中为什么要使用弱引用 ThreadLocal可以在线程中存放线程的本地变量&#xff0c;保证数据的线程安全 ThreadLocal是这样子保存对象的&#xff1a; 在每个线程中&#xff0c;存放了一个…

前端新手Vue3+Vite+Ts+Pinia+Sass项目指北系列文章 —— 第十一章 基础界面开发 (组件封装和使用)

前言 Vue 是前端开发中非常常见的一种框架&#xff0c;它的易用性和灵活性使得它成为了很多开发者的首选。而在 Vue2 版本中&#xff0c;组件的开发也变得非常简单&#xff0c;但随着 Vue3 版本的发布&#xff0c;组件开发有了更多的特性和优化&#xff0c;为我们的业务开发带…

有事休假店铺无人看守怎么办?智能远程视频监控系统保卫店铺安全

在春节期间&#xff0c;很多自营店主也得到了久违的假期&#xff0c;虽然很多店主都是长期在店铺中看守&#xff0c;但遇到春节这样的日子&#xff0c;多数人还是选择回乡休假。面对店主休假或有事不能管理店铺时&#xff0c;传统的监控虽然可以做到单一的监控&#xff0c;却仍…

用HTML Canvas和JavaScript创建美丽的花朵动画效果

目录 一、程序代码 二、代码原理 三、运行效果 一、程序代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>炫酷花朵</title><style>* {margin: 0;padding: 0;overflow: hidden;bac…

Windows 使设置更改立即生效——并行发送广播消息

目录 前言 1 遍历窗口句柄列表 2 使用 SendMessageTimeout 发送延时消息 3 并行发送消息实现模拟广播消息 4 修改 UIPI 消息过滤器设置 5 托盘图标刷新的处理 6 完整代码和测试 本文属于原创文章&#xff0c;转载请注明出处&#xff1a; https://blog.csdn.net/qq_5907…

不知如何获取1688工厂档案信息,你还在为此烦恼吗?

阿里巴巴集团旗下的B2B电子商务网站&#xff0c;提供海量优质商品&#xff0c;为采购商和供应商提供交流、合作、采购等服务&#xff0c;是很多没有货源优势的电商卖家首选的货源途径&#xff0c;也是国内最大、货源种类最齐全的货源网站。 不少做跨境电商无货源的朋友都想要1…

c# #if 与 Conditional属性宏的区别

测试代码 using System; using System.Diagnostics;namespace ConsoleApp1 {public class TestClass{[Conditional("Debug1")]public static void Func1(){Console.WriteLine("Conditional 宏");}public static void Func2(){ #if Debug2Console.WriteLin…

欠定方程组及其求解

欠定方程组是指方程的数量少于未知数的数量的方程组。在这种情况下&#xff0c;通常有无限多个解&#xff0c;因为给定的方程不足以唯一确定所有未知数的值。在某些情况下&#xff0c;我们可以利用额外的信息或假设&#xff0c;如稀疏性或其他约束&#xff0c;来找到一个合理的…

AT24C02(I2C总线)通信的学习

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、存储器介绍二、AT24C02芯片二、I2C总线I2C电路规范I2C时序结构I2C数据帧AT24C02数据帧 总结 前言 学习AT24C02(I2C总线)芯片 一、存储器介绍 RAM&#xf…

更改WordPress作者存档链接author和Slug插件Edit Author Slug

WordPress默认所有用户的存档永久链接都是/author/username/&#xff0c;不管是管理员还是订阅者或贡献者或作者或编辑。如果你想要自定义用户存档链接&#xff0c;比如根据角色不同使用不一样的author&#xff0c;或者自定义作者链接中的用户名Slug&#xff0c;那么建议考虑使…

解决kkFileView4.4.0版本pdf、word不能预览问题

这里使用的是http下载流url预览&#xff0c;遇到的问题。 官方使用指南&#xff1a;kkFileView - 在线文件预览 1 前端测试代码 1.1 官方示例代码 1.2 本人测试代码 注意&#xff1a;要给预览文件的url进行编码encodeURIComponent(Base64.encode(previewUrl))。 <!DOCTYP…

人工智能|机器学习——基于机器学习的舌苔检测

代码下载&#xff1a; 基于深度学习的舌苔检测毕设留档.zip资源-CSDN文库 1 研究背景 1.1.研究背景与意义 目前随着人们生活水平的不断提高&#xff0c;对于中医主张的理念越来越认可&#xff0c;对中医的需求也越来越多。在诊断中&#xff0c;中医通过观察人的舌头的舌质、苔…

Linix与Windows上使用nc命令测试某一个服务器端口网络是否正常可访问详细安装及测试步骤

一、windows 1、下载nc安装包 https://nszyf.lanzoum.com/ihtqS0v0lwwh 2、下载后解压放置在自己电脑合适的位置&#xff0c;并且配置到环境变量中 3、配置成功环境变量&#xff0c;winr打开运行&#xff0c;输入cmd&#xff0c;回车&#xff0c;打开一个终端测试 测试成功…

Kubernetes基础(二十二)-k8s持久化存储详解

1 volume 1.1 介绍 在容器中的磁盘文件是短暂的&#xff0c;当容器崩溃时&#xff0c;Kubelet会重新启动容器&#xff0c;但容器运行时产生的数据文件都将会丢失&#xff0c;之后容器会以最干净的状态启动。另外&#xff0c;当一个Pod运行多个容器时&#xff0c;各个容器可能…

Springboot+vue的疫情信息管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频&#xff1a; Springbootvue的疫情信息管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目。 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的前后端分离的疫情信息管理系统&#xff0c;采用M&#xff08;model&a…