【賞析】.NET跨平臺框架-Avalonia UI

這是Avalonia UI官方的一個Demo,站長對部分Nuget包進行了升級,網友【小飛機MLA】對Linux版本修復了字體Bug得以正常運行、演示:

Windows 11:

macOS 13:

可安裝Rider(EAP即要)開發,站長一次性直接編譯運行(站長使用的.NET 7),調試過于順暢...

國產麒麟V10操作系統:

站長安裝麒麟OS折騰了一會兒,文件傳輸又不熟悉,運行命令也不熟(執行程序設置運行權限777),后面是網友【小飛機MLA】解決了Linux字體問題,站長得以開心的運行錄了視頻分享。

三個平臺功能相同,只是Linux自定義標題欄未生效,還需要再研究研究。

案例功能

一個音樂專輯搜索、展示小程序

  1. 首頁:展示已購買的音樂專輯;

  2. 專輯選擇頁:專輯搜索、購買;

資料:

案例教程:https://docs.avaloniaui.net/tutorials/music-store-app

案例原源碼:https://github.com/AvaloniaUI/Avalonia.MusicStore

站長升級版源碼:https://github.com/dotnet9/AvaloniaTest/tree/main/src/Avalonia.MusicStore

Avalonia UI

文檔教程:https://docs.avaloniaui.net/docs/getting-started

隨著跨平臺越來越流行,.NET支持跨平臺至今也有十幾年的光景了(Mono開始)。

但是目前基于.NET的跨平臺,大多數還是在使用B/S架構的跨平臺上;至于C/S架構,大部分人可能會選擇Qt進行開發,或者很早之前還有一款Mono可以支持.NET開發者進行開發跨平臺應用,自微軟收購Xamarin后,今年又正式發布了MAUI跨平臺框架,外加第三方的跨平臺框架Uno\Avalonia UI選擇,技術棧多的炸裂呀(此段我混原創...)。

今天介紹的是Avalonia UI,站長也是研究了好幾天,這是一個基于WPF XAML的跨平臺UI框架,并支持多種操作系統(Windows(.NET Core),Linux(GTK),MacOS,Android和iOS),Web(WebAssembly)

這是一個使用.NET 創建多平臺應用程序的框架,官方網站一個真實項目截圖:lunacy

872610c74602d9c7d53f1dc3398e0ad3.png

知乎找到的一個截圖:

a612c320a80e7eb57f6a93e23355d830.jpeg

剛剛接觸,更多知識還需要了解,今天暫時到這...

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/281089.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281089.shtml
英文地址,請注明出處:http://en.pswp.cn/news/281089.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Kernel Newbies內核開發新手的資源

Jessica McKellar在Ksplice blog上的博客文章《Linux Device Drivers》如果你在寫一個操作系統,OSDev wiki是一個不錯的網站Kernel Newbies內核開發新手的資源

office自定義安裝選項_如何自定義Office 2013中功能區上的現有選項卡

office自定義安裝選項The Ribbon in Microsoft Office 2013 provides quick access to many features and options by default, but it can be further customized to fit the way you use it. You can add a custom tab to the ribbon or you can add commands to the existin…

Centos6.8 安裝spark-2.3.1 以及 scala-2.12.2

一、Spark概述 Spark 是一個用來實現快速而通用的集群計算的平臺。 在速度方面,Spark 擴展了廣泛使用的 MapReduce 計算模型,而且高效地支持更多計算模式,包括交互式查詢和流處理。 在處理大規模數據集時,速度是非常重要的。速…

聊一聊 WPF 程序的鍵盤是如何被竊聽的?

一:背景 1.講故事前幾天群里很熱鬧,看了下在爭論兩個問題:電腦里要不要裝殺毒軟件 ?應該裝什么殺毒軟件 ?不管殺毒軟件流氓不流氓,在如今病毒肆虐的當下互聯網,裝一個還是能幫我們攔截很多意想不到的東西&#xff0c…

httpclient 實現文件上傳中轉

開發功能: web前端提交上傳文件 —> a服務器接收 —> 轉發到b服務器進行文件處理 下面是簡單實現的代碼,具體細節優化根本自己的需求更改。 public String handleResponse(HttpServletRequest request, HttpServletResponse response)throws Unsup…

AngularJS $watch 性能殺手

雙向綁定是AngularJS核心概念之一,它給我們帶來了思維的轉變,不再是以DOM為驅動,而是以Model為核心,View中寫上聲明式標簽(指令或{{}}),AngularJS會在后臺默默同步View到Model,并將Model的變化更新到View。…

ipad和iphone切圖_如何在iPhone和iPad上的Messages App中固定對話

ipad和iphone切圖Khamosh PathakKhamosh PathakBetween updates from your bank and group chats, the Messages app on your iPhone or iPad can be a mess. Use the pinned conversations feature introduced in iOS 14 and iPadOS 14 to access your favorite conversations…

這個WPF的企業級MES項目爆火,就是UI爭議大!

工業4.0時代,智能智造MES系統大行其道,然而基于.NET跨平臺的罕見!這里有一套《.NET6WPF企業級MES實戰》教程,基于.NET6跨平臺開發,實現了MES多核心功能,尤其是開發框架完整,非常適合復用。這里分…

單調棧學習筆記

線性結構——單調棧①定義:棧內的元素,按照某種方式排序(單調遞增或單調遞減)如果新入棧的元素破壞了單調性,就彈出棧內元素,直到滿足單調性②優點:可以很方便地求出某個數左邊或者右邊第一個比…

《VMware Virtual SAN權威指南(原書第2版)》一1.5 什么是Virtual SAN

1.5 什么是Virtual SAN Virtual SAN是VMware推出的一種存儲解決方案,它的beta版本在2013年發布,2014年3月正式開放給公眾,并于2016年3月升級到6.2版。VSAN完全集成在vSphere中,它是一種基于對象的存儲系統,是虛擬機存…

js 控制超出字數顯示省略號

//多余顯示省略號 function wordlimit(cname, wordlength) {var cname document.getElementsByClassName(cname);for (var i 0; i < cname.length; i) {      var nowLength cname[i].innerHTML.length;if (nowLength > wordlength) {cname[i].innerHTML cname…

在Outlook 2007中查看您的Google日歷

Google Calendar is a phenomenal web application for managing your calendars, but so many of us are still forced to use Outlook at work. The good thing is you can have the best of both worlds by subscribing to your Google Calendar from Outlook. Google日歷是…

元宇宙、數字孿生和企業NFT

昨天參加了華為云上海開發者日活動&#xff0c;并客串主持了一場"元宇宙技術創新和商業實踐之路"的閉門研討會。研討會上大家討論熱烈&#xff0c;干貨多多&#xff0c;大家提到元宇宙的企業級前景、數字藏品和數字人案例的親身體會。在會上盆盆分享了自己關于企業級…

設置狀態欄和標題欄的樣式

設置狀態欄和標題欄的樣式Android setSystemUiVisibility(visible)方法詳解這個方法可以詳細的設置各種標題欄的狀態欄的樣式.visible的值來決定1.SYSTEM_ UI_ FLAG_ LOW_ PROFILE: 影藏不重要的狀態欄圖標&#xff0c;導航欄中相應的圖標都變成了一個小點。點擊狀態欄或者標題…

CMD命令硬盤/光驅掛載

使用Mountvol命令掛載時&#xff0c;發現GUID不對啊&#xff0c;哪應該到哪找呢&#xff1f; 1.首先可以用Mountvol命令&#xff1a; Mountvol 創建、刪除或列出卷的裝入點。Mountvol 是一種不需要驅動器號而連接卷的方式。 語法&#xff1a; mountvol [Drive:]Path VolumeName…

紐約大街上的免費WiFi,終于鋪起來了

紐約市的城市互聯網項目終于開始動工了。 這個被稱為 LinkNYC 的網絡服務項目&#xff0c;是將現有的 1 萬多個付費電話亭改造成提供 Wi-Fi 網絡的“熱點樁”&#xff0c;為紐約市民提供免費網絡。從 12 月 28 日開始&#xff0c;工人們已經開始安裝首批的 LinkNYC 熱點樁了&am…

解決Maven管理項目update Maven時,jre自動變為1.5

本文為博主原創&#xff0c;未經允許不得轉載&#xff1a; 在搭建一個maven web項目時&#xff0c;項目已經按步驟搭建完好&#xff0c;之后項目上就報了一個錯誤。 在控制臺看到錯誤提示如下&#xff1a;Dynamic Web Module 3.0 requires Java 1.6 or newer。。 已經改過項目中…

reddit_如何將多個子Reddit與多個Reddit合并

redditchrisdorney/Shutterstock.comchrisdorney / Shutterstock.comIf you’re subscribed to a lot of communities on Reddits, some of the content you want to see may get lost in the mix. For easier browsing, you can make your own “multireddit” that combines …

BeetleX之ServerBuilder對象使用

ServerBuilder是BeetleX新版本添加對象&#xff0c;用于進一步簡化TCP服務的構建。ServerBuilder對象提供兩個泛型版本&#xff1a;一個是針對網絡數據流操作&#xff0c;另一個則針對協議解釋器的對象處理操作。網絡數據流當需要解釋簡單的網絡數據流時使用ServerBuilder<A…

Unbuntu 自動重啟MySQL

上個月&#xff0c;通過Unbuntu搭建了WordPress&#xff0c;一切運行良好。 UBUNTU搭建WORDPRESS-MYSQL-APACHE 但是&#xff0c;最近幾天&#xff0c;不知道啥情況&#xff0c;MySQL偶爾會出現Stop&#xff1b;影響了blog的使用&#xff0c;所以&#xff0c;我這里嘗試了自動調…