Avalonia是什么?
Avalonia是一個(gè)強(qiáng)大的框架,使開發(fā)人員能夠使用.NET創(chuàng)建跨平臺(tái)應(yīng)用程序。它使用自己的渲染引擎繪制UI控件,確保在Windows、macOS、Linux、Android、iOS和WebAssembly等不同平臺(tái)上具有一致的外觀和行為。這意味著開發(fā)人員可以共享他們的UI代碼,并在不同的目標(biāo)平臺(tái)上保持統(tǒng)一的外觀和感覺。
MIT 協(xié)議的寬松與便利
MIT 協(xié)議(The MIT License)是一種簡潔且寬松的開源軟件許可協(xié)議。它允許使用者自由使用、復(fù)制、修改、合并、發(fā)布、分發(fā)、再許可和 / 或銷售軟件副本。使用者在軟件和軟件的所有副本中都必須包含版權(quán)聲明和許可聲明。MIT 協(xié)議對(duì)使用者的限制很少,基本上賦予了使用者極大的自由,適用于各種開源項(xiàng)目,鼓勵(lì)代碼的共享和重用,促進(jìn)軟件技術(shù)的快速發(fā)展。
Dotnet和Avalonia都是MIT協(xié)議,相關(guān)的代碼地址是:
Semi.Avalonia和Ursa.Avalonia
(一)Semi.Avalonia - 主題風(fēng)格的魅力實(shí)現(xiàn)
Semi.Avalonia,這是以 MIT 協(xié)議開源的 Avalonia UI 框架下的 Semi Design 主題風(fēng)格的精妙呈現(xiàn)。它為應(yīng)用程序帶來獨(dú)特的視覺風(fēng)格,如同一幅精美的畫卷,為用戶界面增添了豐富的色彩和質(zhì)感。
[圖片上傳失敗...(image-974116-1730769482051)]
其倉庫地址為:https://github.com/irihitech/Semi.Avalonia
(二)Ursa.Avalonia - 自定義控件的創(chuàng)新力量
搭配同樣遵循 MIT 協(xié)議的Ursa.Avalonia自定義控件庫,更是如虎添翼。它們攜手為開發(fā)者締造全新的視覺與功能體驗(yàn),仿佛為開發(fā)之旅開啟了一扇通往無限可能的大門。
[圖片上傳失敗...(image-f17133-1730769482051)]
倉庫地址:https://github.com/irihitech/Ursa.Avalonia
在信創(chuàng)及國產(chǎn)操作系統(tǒng)領(lǐng)域表現(xiàn)
值得一提的是,這兩個(gè)庫在信創(chuàng)及國產(chǎn)操作系統(tǒng)領(lǐng)域表現(xiàn)出色,已完成與龍芯 3A6000 和龍架構(gòu)(LoongArch?)的兼容互認(rèn)證,這是自主可控和國產(chǎn)化技術(shù)推進(jìn)的重要成果。
下面信息引用來自微信公眾號(hào)【銥泓科技】8月2號(hào)的文章 《Ursa與Semi正式完成龍架構(gòu)兼容互認(rèn)證》:
大熊Ursa和Semi兩大Avalonia控件集已經(jīng)完成與龍芯3A6000和龍架構(gòu)(LoongArch?)的兼容互認(rèn)證。這一重要的里程碑標(biāo)志著我們?cè)谕七M(jìn)自主可控和國產(chǎn)化技術(shù)方面取得了新的進(jìn)展。
[圖片上傳失敗...(image-78e77a-1730769482051)]
控件部分截圖
控件雖各有特色,但都展現(xiàn)出獨(dú)特的魅力。簡單截取幾張圖,讓您一窺其貌:
Semi.Avalonia主題庫一覽:
[圖片上傳失敗...(image-f6028a-1730769482051)]
Ursa.Avalonia自定義控件庫一覽:
[圖片上傳失敗...(image-f4502e-1730769482051)]
實(shí)際案例分享
站長公司項(xiàng)目使用了該控件,雖不便截圖展示,但可參考站長使用 Avalonia UI 搭配該主題及控件庫編寫的工具CodeWF.Toolbox:
倉庫:https://github.com/dotnet9/CodeWF.Toolbox
該小工具使用Avalonia+Prism 8模塊化開發(fā),AOT 發(fā)布后的文件組織結(jié)構(gòu):
[圖片上傳失敗...(image-fb6079-1730769482051)]
其具備黑白主題,營造出不同的視覺氛圍:
<table>
<tr>
<td><img src="https://img1.dotnet9.com/2024/09/0106.png" ></td>
<td><img src="https://img1.dotnet9.com/2024/09/0107.png" ></td>
</tr>
</table>
還實(shí)現(xiàn)了國際化功能,為全球用戶提供便捷體驗(yàn):
[圖片上傳失敗...(image-355ab2-1730769482051)]
同時(shí),包含實(shí)用的 Json 美化工具和 YAML 轉(zhuǎn) Json 工具,分別如下圖所示:
Json 美化工具
[圖片上傳失敗...(image-6899e1-1730769482051)]
YAML轉(zhuǎn)Json工具
[圖片上傳失敗...(image-6e049e-1730769482051)]
使用經(jīng)驗(yàn)分享
- 官方文檔
- Semi文檔:https://docs.irihi.tech/semi
- Ursa文檔:https://docs.irihi.tech/ursa/
- 源碼閱讀
首先,克隆控件倉庫(上面給出了地址),依據(jù) Readme 及 Demo 運(yùn)行效果進(jìn)行查找。例如,若覺得 Button 的 Warning 效果出色:
[圖片上傳失敗...(image-1eef1e-1730769482051)]
可使用 VS Code 或 VS 打開倉庫:
[圖片上傳失敗...(image-d5b213-1730769482051)]
- 展開Semi.Avalonia.Demo
- 找到Pages目錄,打開ButtonDemo.axaml
- 根據(jù)界面關(guān)鍵字Solid、Waring找到需要的樣式
如此,便能輕松駕馭這些優(yōu)秀的控件,為開發(fā)工作增添效率與魅力。希望本文能為您在 Avalonia 開源控件庫的探索之旅中提供有益的指引和啟發(fā),讓您在開發(fā)道路上創(chuàng)造出更加精彩的應(yīng)用程序。