日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用 Avalonia 开发 UOS 原生应用

發布時間:2023/12/4 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用 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-servedotnet 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 是完全開源的,我也在這個項目里面水了改注釋的代碼,歡迎小伙伴組隊貢獻代碼

總結

以上是生活随笔為你收集整理的使用 Avalonia 开发 UOS 原生应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。