Avalonia开源控件库强力推荐-Semi.Avalonia

简介: Semi.Avalonia是以MIT协议开源的Avalonia UI框架下的Semi Design主题风格实现,搭配Ursa.Avalonia自定义控件库,为开发者带来全新视觉与功能体验。

Avalonia是什么?

Avalonia是一个强大的框架,使开发人员能够使用.NET创建跨平台应用程序。它使用自己的渲染引擎绘制UI控件,确保在Windows、macOS、Linux、Android、iOS和WebAssembly等不同平台上具有一致的外观和行为。这意味着开发人员可以共享他们的UI代码,并在不同的目标平台上保持统一的外观和感觉。

MIT 协议的宽松与便利

MIT 协议(The MIT License)是一种简洁且宽松的开源软件许可协议。它允许使用者自由使用、复制、修改、合并、发布、分发、再许可和 / 或销售软件副本。使用者在软件和软件的所有副本中都必须包含版权声明和许可声明。MIT 协议对使用者的限制很少,基本上赋予了使用者极大的自由,适用于各种开源项目,鼓励代码的共享和重用,促进软件技术的快速发展。

Dotnet和Avalonia都是MIT协议,相关的代码地址是:

Semi.Avalonia和Ursa.Avalonia

(一)Semi.Avalonia - 主题风格的魅力实现

Semi.Avalonia,这是以 MIT 协议开源的 Avalonia UI 框架下的 Semi Design 主题风格的精妙呈现。它为应用程序带来独特的视觉风格,如同一幅精美的画卷,为用户界面增添了丰富的色彩和质感。

其仓库地址为:https://github.com/irihitech/Semi.Avalonia

(二)Ursa.Avalonia - 自定义控件的创新力量

搭配同样遵循 MIT 协议的Ursa.Avalonia自定义控件库,更是如虎添翼。它们携手为开发者缔造全新的视觉与功能体验,仿佛为开发之旅开启了一扇通往无限可能的大门。

仓库地址:https://github.com/irihitech/Ursa.Avalonia

在信创及国产操作系统领域表现

值得一提的是,这两个库在信创及国产操作系统领域表现出色,已完成与龙芯 3A6000 和龙架构(LoongArch™)的兼容互认证,这是自主可控和国产化技术推进的重要成果。

下面信息引用来自微信公众号【铱泓科技】8月2号的文章 《Ursa与Semi正式完成龙架构兼容互认证》:

大熊Ursa和Semi两大Avalonia控件集已经完成与龙芯3A6000和龙架构(LoongArch™)的兼容互认证。这一重要的里程碑标志着我们在推进自主可控和国产化技术方面取得了新的进展。

控件部分截图

控件虽各有特色,但都展现出独特的魅力。简单截取几张图,让您一窥其貌:

Semi.Avalonia主题库一览:

Semi.Avalonia截图

Ursa.Avalonia自定义控件库一览:

Ursa.Avalonia

实际案例分享

站长公司项目使用了该控件,虽不便截图展示,但可参考站长使用 Avalonia UI 搭配该主题及控件库编写的工具CodeWF.Toolbox:

仓库:https://github.com/dotnet9/CodeWF.Toolbox

该小工具使用Avalonia+Prism 8模块化开发,AOT 发布后的文件组织结构:

其具备黑白主题,营造出不同的视觉氛围:






还实现了国际化功能,为全球用户提供便捷体验:

国际化

同时,包含实用的 Json 美化工具和 YAML 转 Json 工具,分别如下图所示:

Json 美化工具

YAML转Json工具

使用经验分享

  1. 官方文档
  1. 源码阅读

首先,克隆控件仓库(上面给出了地址),依据 Readme 及 Demo 运行效果进行查找。例如,若觉得 Button 的 Warning 效果出色:

可使用 VS Code 或 VS 打开仓库:

  1. 展开Semi.Avalonia.Demo
  2. 找到Pages目录,打开ButtonDemo.axaml
  3. 根据界面关键字Solid、Waring找到需要的样式

如此,便能轻松驾驭这些优秀的控件,为开发工作增添效率与魅力。希望本文能为您在 Avalonia 开源控件库的探索之旅中提供有益的指引和启发,让您在开发道路上创造出更加精彩的应用程序。

相关文章
|
消息中间件 物联网 网络性能优化
MQTT常见问题之mqtt 连接一直显示 Not authorized to connect如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
10月前
|
缓存 Linux 开发者
Avalonia开源控件库强力推荐-Semi.Avalonia
【11月更文挑战第3天】Semi.Avalonia 是一个基于 Avalonia 的开源控件库,提供了丰富的自定义控件和扩展功能。它支持多种样式按钮、高级输入控件和灵活的布局容器,简化了属性设置,并提供了详细的文档支持。Semi.Avalonia 还支持多种内置主题和自定义主题,具备高效的渲染机制和合理的资源管理,适用于跨平台桌面应用程序开发。
631 2
|
1月前
|
人工智能 JSON 前端开发
告别无效调参!ReAct代理设计:让LLM精准执行复杂任务的终极方案
ReAct模式通过“推理+行动”循环,使大语言模型能自主调用工具、获取实时信息并执行多步骤任务,有效突破LLM固有局限,提升任务准确性和智能化水平。
209 0
|
9月前
|
前端开发 Linux C#
一款开源、免费、美观的 Avalonia UI 原生控件库 - Semi Avalonia
一款开源、免费、美观的 Avalonia UI 原生控件库 - Semi Avalonia
725 10
|
11月前
|
消息中间件 网络协议 C#
C#使用Socket实现分布式事件总线,不依赖第三方MQ
`CodeWF.EventBus.Socket` 是一个轻量级的、基于Socket的分布式事件总线系统,旨在简化分布式架构中的事件通信。它允许进程之间通过发布/订阅模式进行通信,无需依赖外部消息队列服务。
C#使用Socket实现分布式事件总线,不依赖第三方MQ
|
11月前
|
IDE 开发工具 C++
AvaloniaUI项目离线开发全攻略:IDE安装、模板应用与NuGet私有化部署一站式解决
本文详细介绍了在离线环境中开发Avalonia UI项目的完整解决方案,包括Visual Studio 2022和JetBrains Rider的离线安装、Avalonia UI模板的配置、私有NuGet服务的部署与使用,以及NuGet包的制作和上传。通过这些步骤,您可以在网络受限或完全离线的环境中顺利进行Avalonia UI项目的开发。
AvaloniaUI项目离线开发全攻略:IDE安装、模板应用与NuGet私有化部署一站式解决
|
10月前
|
XML 安全 API
.NET 9 AOT的突破 - 支持老旧Win7与XP环境
.NET 9开始,AOT支持Win7和XP,不仅仅只支持SP1版本
.NET 9 AOT的突破 - 支持老旧Win7与XP环境
|
11月前
|
Linux C# Android开发
分享3款开源、免费的Avalonia UI控件库
分享3款开源、免费的Avalonia UI控件库
1083 0
|
12月前
|
Linux C# Android开发
一个开源、跨平台的.NET UI框架 - Avalonia UI
一个开源、跨平台的.NET UI框架 - Avalonia UI
630 3
|
移动开发 开发框架 C#
跨平台移动开发王者之战:Xamarin对决Uno Platform,谁将主宰.NET的未来?
【8月更文挑战第28天】Xamarin和Uno Platform是.NET生态下的两大跨平台移动开发框架。Xamarin自2011年起成为.NET的重要组成部分,使用C#实现高度代码共享。Uno Platform则是较新的框架,支持C#和XAML,并能将代码编译为WebAssembly,兼容Web平台。两者在代码共享、性能、社区支持及平台兼容性方面各有优势。Xamarin在性能和生态上更为成熟,Uno Platform则在Web兼容性方面表现出色。开发者可根据项目需求和技术栈选择合适的框架。
129 3