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注入的风险。

  • End -

更多开源项目: github.com/bianchengle...

相关推荐
Marktowin2 小时前
Mybatis-Plus更新操作时的一个坑
java·后端
赵文宇3 小时前
CNCF Dragonfly 毕业啦!基于P2P的镜像和文件分发系统快速入门,在线体验
后端
程序员爱钓鱼3 小时前
Node.js 编程实战:即时聊天应用 —— WebSocket 实现实时通信
前端·后端·node.js
Libby博仙4 小时前
Spring Boot 条件化注解深度解析
java·spring boot·后端
源代码•宸4 小时前
Golang原理剖析(Map 源码梳理)
经验分享·后端·算法·leetcode·golang·map
小周在成长4 小时前
动态SQL与MyBatis动态SQL最佳实践
后端
瓦尔登湖懒羊羊4 小时前
TCP的自我介绍
后端
小周在成长4 小时前
MyBatis 动态SQL学习
后端
子非鱼9214 小时前
SpringBoot快速上手
java·spring boot·后端