13个热门.Net开源项目

玩点科技新鲜事 2024-04-06 02:55:13

我是编程乐趣,一个10年.Net开发经验老程序员,点击右上方“关注”,每天为你分享开源项目和编程知识。

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

Flurl是基于.Net开发的开源库,是一个现代化的、流畅的、异步的、可测试的、可移植的URL构建器和HTTP客户端库。这个开源项目提供了强大功能,使得开发人员方便构建和处理RESTful风格HTTP请求。

1、URL构建快捷:支持链式调用的方式,使得构建URL变得非常直观和简洁。方便开发人员添加查询参数、路径段等,而无需手动拼接字符串。

2、内置了HTTP客户端功能:支持发送GET、POST、PUT、DELETE等类型的请求,并可以方便地处理响应。它还支持异步操作,使得在处理大量请求或长时间运行的请求,不会阻塞主线程。

3、可测试性:它提供了模拟HTTP响应的功能,使得在单元测试或集成测试中能够模拟各种场景,从而确保代码的健壮性。

二、

NetCoreServer是一个基于.NET Core的开源项目,一个高性能、跨平台的异步套接字服务器与客户端库。该项目支持多种传输协议,包括TCP、SSL、UDP、HTTP、HTTPS以及WebSocket,为开发者提供了丰富的网络通信功能。

设计初衷是为了解决高并发、低延迟的网络通信需求。它采用了异步通信模型,能够高效地处理大量连接和数据传输。无论是在Linux、MacOS还是Windows平台上,NetCoreServer都能够稳定、可靠地运行,为开发者提供了一致的跨平台开发体验。

此外,还提供了详细的文档和丰富的示例代码,帮助开发者快速上手并理解如何使用该库。示例中包括TCP聊天服务器、SSL聊天服务器、UDP回声服务器等多种应用场景。

三、

N_m3u8DL-RE是一个基于.NET的跨平台流媒体下载器,支持点播、直播(DASH/HLS)。

该项目提供了友好的用户界面、支持语言:English/简体中文/繁體中文。可以MPD/M3U8/ISM等格式的流媒体保存到本地,便于用户观看或进行二次创作。

四、

ReaLTaiizor是一个基于.Net的开源WinForm UI库,包含了多种常用控件和多种主题风格,支持.Net Framework 4.8、.NetCore 3.1到.Net 8的版本范围。

此外,该项目还给出非常多的示例,这些示例包含:原神、卡巴斯基、MP3播放器、

Instagram、登录界面、支付等经典界面、控件。这对于初学者来说非常友好,通过这些示例就可以快速上手使用。

五、

Plotly.NET是一个开源的.NET绘图库,它基于Plotly.js的API进行开发,提供了非常丰富的图表类型和交互功能。

Plotly.NET默认生成结果是Html文件,可以直接在浏览器打开,可以把Html保存至指定路径,或者保存为各种图片格式:JPG、PNG、SVG。

六、

Yantra是一个基于.NET Standard开发的开源项目,提供了一个完全用C#编写的托管JavaScript引擎,方便.Net环境中高效地执行JavaScript脚本。

该项目支持多种JavaScript特性,包括ES5和ES6的许多功能,如箭头函数、类、类成员、增强的对象字面量、模板字符串、解构赋值、let和const声明、Map和Set等内置对象,以及二进制和八进制字面量。它还支持Async/Await异步编程模型、可选参数、尾调用优化等特性。

七、

StableSwarmUI是由官方推出的WebUI框架,真正的文生图和图生图的推理任务,还是在后端执行,官方推荐我们配合ComfyUI来使用。

StableSwarmUI专注让Stable Diffusion变得易于访问,核心特点是易用性、高性能和可扩展性,提升用户体验。

StableSwarmUI不仅支持多种语言,还引入图像编辑器、自动模型格式检测以及额外的生成类型(如视频)等功能。它在定制方面还是不错的,提供了预设、主题和服务器配置等控制权,无需用户手动调优,使得经验较少的用户也能轻松上手。

八、

Z.ExtensionMethods是由zzzprojects公司开发并维护的一款开源库,为.NET开发人员提供一系列实用的扩展方法,可以减少重复劳动、提高开发效率,支持.NET Framework 和 .NET Core。

该项目不仅提供了丰富的功能,代码质量也是非常高的,用来学习编程规范也是不错的选择。

同时在官网也为每一个API提供了详细说明和使用方法,扩展方法分类如下,合计超过1000个扩展方法:

九、

ExcelDataReader是一个功能强大且易于使用的开源项目,提供了丰富的读取API,专门读取Excel文件的数据,特别是处理大数据量的情况。

ExcelDataReader支持Excel版本从2007年至2021年以及Office 365的Excel格式,支持文件格式如下:

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

十、

Garnet是微软官方基于.Net 8开发的、开源高性能远程缓存存储系统,支持单节点、集群。

Garnet使用的是当前流行的 RESP 协议,使得当前大多数编程语言现成的 Redis 客户端无需做任何改动,比如C#中的StackExchange.Redis。

Garnet 在处理大量客户端连接和小批量数据时,有着更高的吞吐量和可扩展性,可为大型应用和服务节约成本。

在具有加速 TCP 功能的普通云(Azure)虚拟机,表现出极低的客户端延迟(在 99.9% 的情况下通常少于 300 微秒)。

Garnet是基于.Net 8开发的,在Windows、Linux都表现出极高的性能。

十一、

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设计的开源高级日期和时间库,它可以让开发人员更容易、更精确、更灵活的方式来处理日期、时间。

时区支持:提供了全面的时区支持,允许开发者处理不同时区的日期和时间,而无需担心时区转换和夏令时调整等复杂问题。

精确性:提供了高精度的时间表示,包括纳秒级别的精度,适用于需要高精度时间戳的场景。

灵活的日期时间操作:提供了丰富的日期时间操作,如日期时间的比较、加减、格式化等,使开发者能够更灵活地处理日期时间数据。

十三、

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

- End -

0 阅读:0

玩点科技新鲜事

简介:感谢大家的关注