13个热门.Net开源项目

今天盘点下3月份分享的13个.Net开源项目(点击标题查看详情)。

一、Flurl:一个Star 3.9K的链式RESTful风格HTTP开源.Net库
Flurl是基于.Net开发的开源库,是一个现代化的、流畅的、异步的、可测试的、可移植的URL构建器和HTTP客户端库。这个开源项目提供了强大功能,使得开发人员方便构建和处理RESTful风格HTTP请求。
1、URL构建快捷:支持链式调用的方式,使得构建URL变得非常直观和简洁。方便开发人员添加查询参数、路径段等,而无需手动拼接字符串。
2、内置了HTTP客户端功能:支持发送GET、POST、PUT、DELETE等类型的请求,并可以方便地处理响应。它还支持异步操作,使得在处理大量请求或长时间运行的请求,不会阻塞主线程。
3、可测试性:它提供了模拟HTTP响应的功能,使得在单元测试或集成测试中能够模拟各种场景,从而确保代码的健壮性。

二、一个超快低延迟.Net网络通信库:支持TCP, SSL, UDP, HTTP,HTTPS, WebSocket多协议
NetCoreServer是一个基于.NET Core的开源项目,一个高性能、跨平台的异步套接字服务器与客户端库。该项目支持多种传输协议,包括TCP、SSL、UDP、HTTP、HTTPS以及WebSocket,为开发者提供了丰富的网络通信功能。
设计初衷是为了解决高并发、低延迟的网络通信需求。它采用了异步通信模型,能够高效地处理大量连接和数据传输。无论是在Linux、MacOS还是Windows平台上,NetCoreServer都能够稳定、可靠地运行,为开发者提供了一致的跨平台开发体验。
此外,还提供了详细的文档和丰富的示例代码,帮助开发者快速上手并理解如何使用该库。示例中包括TCP聊天服务器、SSL聊天服务器、UDP回声服务器等多种应用场景。

三、一个基于.Net、支持直播等流媒体下载的开源项目
N_m3u8DL-RE是一个基于.NET的跨平台流媒体下载器,支持点播、直播(DASH/HLS)。
该项目提供了友好的用户界面、支持语言:English/简体中文/繁體中文。可以MPD/M3U8/ISM等格式的流媒体保存到本地,便于用户观看或进行二次创作。

四、一套UI精美、控件丰富、多主题的WinForm开源界面库
ReaLTaiizor是一个基于.Net的开源WinForm UI库,包含了多种常用控件和多种主题风格,支持.Net Framework 4.8、.NetCore 3.1到.Net 8的版本范围。
此外,该项目还给出非常多的示例,这些示例包含:原神、卡巴斯基、MP3播放器、
Instagram、登录界面、支付等经典界面、控件。这对于初学者来说非常友好,通过这些示例就可以快速上手使用。

五、Plotly.NET:一个强大的、漂亮的.NET开源交互式图表库
Plotly.NET是一个开源的.NET绘图库,它基于Plotly.js的API进行开发,提供了非常丰富的图表类型和交互功能。
Plotly.NET默认生成结果是Html文件,可以直接在浏览器打开,可以把Html保存至指定路径,或者保存为各种格式:JPG、PNG、SVG。

六、Yantra:一个基于.Net跨平台JavaScript开源引擎
Yantra是一个基于.NET Standard开发的开源项目,提供了一个完全用C#编写的托管JavaScript引擎,方便.Net环境中高效地执行JavaScript脚本。
该项目支持多种JavaScript特性,包括ES5和ES6的许多功能,如箭头函数、类、类成员、增强的对象字面量、模板字符串、解构赋值、let和const声明、Map和Set等内置对象,以及二进制和八进制字面量。它还支持Async/Await异步编程模型、可选参数、尾调用优化等特性。

七、StableSwarmUI:Stable Diffusion客户端,官方出品、功能强大且易用!
StableSwarmUI是由官方推出的WebUI框架,真正的文生图和图生图的推理任务,还是在后端执行,官方推荐我们配合ComfyUI来使用。
StableSwarmUI专注让Stable Diffusion变得易于访问,核心特点是易用性、高性能和可扩展性,提升用户体验。
StableSwarmUI不仅支持多种语言,还引入图像编辑器、自动模型格式检测以及额外的生成类型(如视频)等功能。它在定制方面还是不错的,提供了预设、主题和服务器配置等控制权,无需用户手动调优,使得经验较少的用户也能轻松上手。

八、一个C#开源工具库,集成了超过1000个扩展方法
Z.ExtensionMethods是由zzzprojects公司开发并维护的一款开源库,为.NET开发人员提供一系列实用的扩展方法,可以减少重复劳动、提高开发效率,支持.NET Framework 和 .NET Core。
该项目不仅提供了丰富的功能,代码质量也是非常高的,用来学习编程规范也是不错的选择。
同时在官网也为每一个API提供了详细说明和使用方法,扩展方法分类如下,合计超过1000个扩展方法:

九、ExcelDataReader:一个.Net高性能Excel开源读取器
ExcelDataReader是一个功能强大且易于使用的开源项目,提供了丰富的读取API,专门读取Excel文件的数据,特别是处理大数据量的情况。
ExcelDataReader支持Excel版本从2007年至2021年以及Office 365的Excel格式,支持文件格式如下:

支持.Net4.6、.NetStandard2.0、.Net Core 5及更高版本。

十、Garnet:微软官方基于.Net 8开源缓存系统,可无需任何改动直接替代Redis,而且还更高性能!
Garnet是微软官方基于.Net 8开发的、开源高性能远程缓存存储系统,支持单节点、集群。
Garnet使用的是当前流行的 RESP 协议,使得当前大多数编程语言现成的 Redis 客户端无需做任何改动,比如C#中的StackExchange.Redis。
Garnet 在处理大量客户端连接和小批量数据时,有着更高的吞吐量和可扩展性,可为大型应用和服务节约成本。
在具有加速 TCP 功能的普通云(Azure)虚拟机,表现出极低的客户端延迟(在 99.9% 的情况下通常少于 300 微秒)。
Garnet是基于.Net 8开发的,在Windows、Linux都表现出极高的性能。

十一、OxyPlot:一个功能强大、漂亮.Net跨平台开源绘图库
OxyPlot是一个基于.NET开发的、跨平台的绘图库,可用于多种平台和框架,如WPF、Windows 8、Windows Phone、Windows Phone Silverlight、Windows Forms、Silverlight、GTK#、Xwt、Xamarin.iOS、Xamarin.Android、Xamarin.Forms和Xamarin.Mac等。它提供了丰富的绘图功能,可以用于创建各种类型的图表,如折线图、柱状图、饼图、散点图等。

十二、NodaTime:一个.NET开源的强大日期和时间库
NodaTime是一个为.NET设计的开源高级日期和时间库,它可以让开发人员更容易、更精确、更灵活的方式来处理日期、时间。
时区支持:提供了全面的时区支持,允许开发者处理不同时区的日期和时间,而无需担心时区转换和夏令时调整等复杂问题。
精确性:提供了高精度的时间表示,包括纳秒级别的精度,适用于需要高精度时间戳的场景。
灵活的日期时间操作:提供了丰富的日期时间操作,如日期时间的比较、加减、格式化等,使开发者能够更灵活地处理日期时间数据。

十三、推荐一个Dapper扩展库,使得更加轻松构建且安全的SQL查询!
DapperQueryBuilder是扩展库,它增强了Dapper的功能,特别是关于动态SQL查询和命令的构建。它提供了字符串插值和Fluent API的操作方式,让我们构建复杂的动态查询变得更加直观和简单,并且没有SQL注入的风险。

最后推荐加入我的 知识星球,里面包含7个教程,其中有:《三层架构教程》与《领域驱动设计架构教程》,还有现在正在编写的《动态Web API》教程。

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/414481.html

(0)
联系我们
联系我们
分享本页
返回顶部