[开源]一个应用程序框架,可以将它集成到任何.NET/C#应用程序中
![[开源]一个应用程序框架,可以将它集成到任何.NET/C#应用程序中](https://yy123.ink/api/img/1782585868240-qaxp7s.jpg)
一、开源项目简介
Furion
让 .NET 开发更简单,更通用,更流行。
序言
无私奉献不是天方夜谭,有时候,我们也可以做到。
名字的由来
故事是这样子的:
自微软宣布 .NET 5 平台消息之后,就琢磨着开发一个基于 .NET 5 平台的开发框架,想做第一个吃 .NET 5 螃蟹尝鲜之人。
一开始想到了 Lazier 作为框架的名称,中文有 更懒 的意思。符合我的 “一切从简,只为了更懒” 的开发理念。
但是 更懒 和 更烂 中文读音相近且没有特色,而且寓意也不是很好,对此换名问题苦恼了好些天。
刚好有一次在 QQ 群中无意间刷到了群友发的 “先知” 单词:“Furion [fu:rɪən]”,就那一刻,就认定它了!
Furion 中文有 先知 的意思,恰好符合我创造框架的初衷。所以,Furion 就诞生了。
二、开源协议
使用MIT开源协议
三、界面展示

四、功能概述
框架特点
- 全新面貌:基于 .NET5/6/7+ 平台,没有历史包袱
- 极少依赖:框架只依赖两个第三方包
- 极易入门:只需要一个 Inject() 即可完成配置
- 极速开发:内置丰富的企业应用开发功能
- 极其灵活:轻松面对多变复杂的需求
- 极易维护:采用独特的架构思想,只为长久维护设计
- 完整文档:提供完善的开发文档
- 跨全平台:支持所有主流操作系统及 .NET 全部项目类型
功能模块

五、技术选型
框架拓展包
名称
版本
描述
Furion

Furion 核心包
Furion.Pure

Furion 纯净版包(不含 EFCore)
Furion.Extras.Authentication.JwtBearer

Furion Jwt 拓展包
Furion.Extras.DependencyModel.CodeAnalysis

Furion CodeAnalysis 拓展包
Furion.Extras.ObjectMapper.Mapster

Furion Mapster 拓展包
Furion.Extras.DatabaseAccessor.SqlSugar

Furion SqlSugar 拓展包
Furion.Extras.DatabaseAccessor.Dapper

Furion Dapper 拓展包
Furion.Extras.DatabaseAccessor.MongoDB

Furion MongoDB 拓展包
Furion.Extras.Logging.Serilog

Furion Serilog 拓展包
Furion.Xunit

Furion Xunit 单元测试拓展包
Furion.Pure.Xunit

Furion 纯净版包 Xunit 单元测试拓展包(不含 EFCore)
Furion.Tools.CommandLine

Furion Tools 命令行参数解析
框架脚手架
Furion + EFCore
名称
版本
描述
Furion.Template.Mvc

Mvc 模板
Furion.Template.Api

WebApi 模板
Furion.Template.App

Mvc/WebApi 模板
Furion.Template.Razor

RazorPages 模板
Furion.Template.RazorWithWebApi

RazorPages/WebApi 模板
Furion.Template.Blazor

Blazor 模板
Furion.Template.BlazorWithWebApi

Blazor/WebApi 模板
Furion + SqlSugar
名称
版本
描述
Furion.SqlSugar.Template.Mvc

Mvc 模板
Furion.SqlSugar.Template.Api

WebApi 模板
Furion.SqlSugar.Template.App

Mvc/WebApi 模板
Furion.SqlSugar.Template.Razor

RazorPages 模板
Furion.SqlSugar.Template.RazorWithWebApi

RazorPages/WebApi 模板
Furion.SqlSugar.Template.Blazor

Blazor 模板
Furion.SqlSugar.Template.BlazorWithWebApi

Blazor/WebApi 模板
框架依赖
Furion 为了追求极速入门,极致性能,尽可能的不使用或减少第三方依赖。目前 Furion 仅集成了以下两个依赖:
- MiniProfiler:性能分析和监听必备
- Swashbuckle:Swagger 接口文档
麻雀虽小五脏俱全。Furion 即使只集成了这两个依赖,但是主流的 依赖注入/控制反转,AOP 面向切面编程,事件总线,数据验证,数据库操作 等等一个都不少。
环境要求
- Visual Studio 2019 16.8 +
- .NET 5 SDK +
- .Net Standard 2.1 +
支持平台
- 运行环境WindowsLinuxMacOS/MacOS M1 CPUDocker/K8S/K3S/RancherXamarin/MAUI
- 数据库SqlServerSqliteAzure CosmosMySqlMariaDBPostgreSQLInMemoryDatabaseOracleFirebird达梦数据库MongoDB
- 应用部署KestrelNginxJexusIISApachePM2Supervisor独立发布/单文件容器(Docker/K8S/K3S/Rancher/PodMan)
关于性能
Furion 目前采用 Visual Studio 2019 16.8 自带性能测试和 JMeter 进行测试,由于篇幅有限,只贴部分测试图,测试结果如下:
