dotnet 使用 Avalonia 开发 UOS 原生应用

最近很火的是国产的操作系统 UOS 系统,这个系统现在存在的问题就是生态没搭建起来。作为 dotnet 开发者,可以通过很多不同方向的技术为 UOS 系统生态贡献应用,如 Xamarin 和 GTK# 或 wine 和 win32 应用,或 mono 和 WinForms 应用等。本文将安利大家使用 Avalonia 框架开发 UOS 上的原生应用

什么是 Avalonia 简单说法就是原 WPF 的开发者没事干写的一套全平台框架,这个框架将 UI 布局和 UI 渲染抽离,通过在不同的平台注入平台原生的渲染框架做到了全平台。理论上无论哪个平台,只要符合渲染原理能够封装注入进去,那么将可以用上 Avalonia 框架

咱的 UOS 系统是基于 deepin 基于 debian 10 的系统,刚好在 dotnet core 支持范围。接下来将通过 dotnet core 全平台的特性,加上 Avalionia 和平台无关的布局和交互计算框架,配合具体平台渲染和交互,就可以做到在 UOS 上开发原生的应用

我有一个 Windows 的设备,在 Windows 上开发的效率比较高,本文的代码编写和构建都将会在 Windows 上进行。当然,用纯 UOS 下开发也是可以的,只是前提是对 Linux 要比较熟悉

请从模版创建开始,从零从控制台搭建的细节太多了,也不是本文关注的内容

先通过 Git 下载 官方的模版库 https://github.com/AvaloniaUI/avalonia-dotnet-templates

然后通过 cd 命令进入到 avalonia-dotnet-templates 文件夹,通过下面代码安装此模版。注意,只有在首次使用才需要安装模版

dotnet new --install ./

上面代码是通过 dotnet 模版安装的方法,安装当前文件夹才存在的模版

如果安装成功,理论上应该可以从输出里面看到下面代码

Avalonia .NET Core App      avalonia.app         [C#]          ui/xaml
Avalonia .NET Core MVVM App avalonia.mvvm        [C#]          ui/xaml
Avalonia UserControl        avalonia.usercontrol [C#]          ui/xaml
Avalonia Window             avalonia.window      [C#]          ui/xaml

接下来新建一个空白文件夹,用命令行进入此文件夹(为什么不用 VisualStudio 原因是命令行说起来更简单)在命令行输入下面代码创建一个 Avalonia 应用

dotnet new avalonia.app

此时将会在当前文件夹里面创建一个 Avalonia 应用

一个空白的 Avalonia 应用默认带有 Hellow 界面,先不要尝试修改界面逻辑,请先发布运行一下

使用 Avalonia 带来的优势是部署特别方便,原因是 dotnet core 部署非常方便,通过下面命令就可以独立发布一个 dotnet core 应用。独立发布将不需要任何依赖,可以做到在 Linux 上复制文件的方式安装

dotnet publish -c release -r linux-x64 --self-contained

此时就完成了生成,尝试将 bin\release\netcoreapp3.0\linux-x64\publish\ 文件夹复制到 UOS 系统上。我采用的方法是在本机先将 Publish 文件夹压缩为 Publish.zip 文件,然后用下面两句代码开启一个 http 静态文件服务器

dotnet tool install --global dotnet-serve

dotnet serve -p 1007 -a 0.0.0.0

关于上面开启静态文件服务器的方法请看 dotnet serve 一句话开启文件服务器 通过 HTTP 将文件共享给其他设备

在 UOS 上访问 http://xx.xx.xx.xx:1007 就能看到开启的静态文件服务器,找到里面的 publish.zip 文件,下载下来,可以在 UOS 的资源管理器里面,右击解压缩

此时需要通过命令行给他一个权限才能运行,在 UOS 通过快捷键 ctrl+alt+t 打开命令行,通过 cd 命令进去下载的文件夹的路径。默认都会下载到 ~/Download 文件夹,这里可执行文件是一个不带后缀的文件。如我创建的项目是 avalonial 此时我生成的可执行文件就是和项目名相同的不带后缀名的文件,使用下面代码就可以让这个文件有权限执行

chmod 777 ./avalonial

接下来可以选择用命令行输入 ./avalonial 执行,也可以如下图在资源管理器里面双击运行

在成功跑起来之后,再请小伙伴修改界面,写出还玩的应用。此时部署炸了就肯定不会说 Avalonia 不兼容 UOS 了

现在 AvaloniaUI 是完全开源的,我也在这个项目里面水了改注释的代码,欢迎小伙伴组队贡献代码

AvaloniaUI/avalonia-dotnet-templates: Avalonia Templates for dotnet new

AvaloniaUI/Avalonia: A multi-platform .NET UI framework

Avalonia UI Framework - Creating a new Avalonia Project

.NET Core UI框架Avalonia_运维_思月行云-CSDN博客

我搭建了自己的博客 https://blog.lindexi.com/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新

如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入

如有不方便在博客评论的问题,可以加我 QQ 2844808902 交流

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

Avalonia是一个开源的UI框架,用于创建高性能、跨平台的.NET应用程序。要开始使用Avalonia进行开发,你需要在Windows, macOS或Linux上设置相应的开发环境。这里是一般的步骤: **1. 安装Visual Studio Code (可选)** 虽然Avalonia支持IntelliJ IDEA等其他IDE,但许多人选择Visual Studio Code(VSCode)因为其丰富的扩展库。如果你还没安装,可以从Microsoft官网下载并安装。 **2. 安装Avalonia SDK** - **对于Visual Studio Code:** - 打开VSCode,搜索并安装`Avalonia Visual Studio Code Extension`。 - 还需要安装.NET Core SDK,可以通过官方网站 https://dotnet.microsoft.com/download 下载适合你操作系统的版本。 - 执行 `dotnet new avalonia` 创建一个新的Avalonia项目模板。 - 或者从GitHub克隆Avalonia库并手动管理依赖项。 **3. 设置开发环境** - 配置`.NET Core Global Tools`,这允许你在终端/命令提示符直接运行Avalonia相关的工具。打开PowerShell并执行以下命令: ``` dotnet tool install AvaloniaBuildTools ``` - 如果你想用C#编写,确保你已经安装了最新版的.NET SDK。 **4. 创建新项目** - 使用命令行工具: ``` dotnet new avaloniaui --name MyAvaloniaApp ``` 这将创建一个基本的Avalonia UI应用模板。 **5. 编辑启动文件** - 在`MyAvaloniaApp`目录下的`Program.cs`文件中,修改入口点,设置主窗口和其他基础配置。 完成以上步骤后,你应该能在你的平台上构建和运行Avalonia应用程序。记住,随着你深入学习和使用Avalonia,可能还需要了解更多的概念,如XAML布局、数据绑定和主题定制等。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值