学 .NET 从 Furion 开始,v3.1.4 发布,安装量破 231 万

来源: 投稿
作者: 百小僧
2022-04-14 15:48:00

star fork GitHub stars GitHub forks GitHub license nuget

让 .NET 开发更简单,更通用,更流行。

💐 序言

无私奉献不是天方夜谭,有时候,我们也可以做到。

🍕 名字的由来

故事是这样子的:

自微软宣布 .NET 5 平台消息之后,就琢磨着开发一个基于 .NET 5 平台的开发框架,想做第一个吃 .NET 5 螃蟹尝鲜之人。

一开始想到了 Lazier 作为框架的名称,中文有 更懒 的意思。符合我的 “一切从简,只为了更懒” 的开发理念。

但是 更懒  更烂 中文读音相近且没有特色,而且寓意也不是很好,对此换名问题苦恼了好些天。

刚好有一次在 QQ 群中无意间刷到了群友发的 “先知” 单词:Furion [fu:rɪən],就那一刻,就认定它了!

Furion 中文有 先知 的意思,恰好符合我创造框架的初衷。所以,Furion 就诞生了。

🍟 文档地址

🌭 开源地址

🥥 框架拓展包

包类型 名称 版本 描述
nuget Furion nuget Furion 核心包
nuget Furion.Pure nuget Furion 纯净版包(不含 EFCore)
nuget Furion.Extras.Authentication.JwtBearer nuget Furion Jwt 拓展包
nuget Furion.Extras.DependencyModel.CodeAnalysis nuget Furion CodeAnalysis 拓展包
nuget Furion.Extras.ObjectMapper.Mapster nuget Furion Mapster 拓展包
nuget Furion.Extras.DatabaseAccessor.SqlSugar nuget Furion SqlSugar 拓展包
nuget Furion.Extras.DatabaseAccessor.Dapper nuget Furion Dapper 拓展包
nuget Furion.Extras.DatabaseAccessor.MongoDB nuget Furion MongoDB 拓展包
nuget Furion.Extras.Logging.Serilog nuget Furion Serilog 拓展包
nuget Furion.Tools.CommandLine nuget Furion Tools 命令行参数解析

🍄 框架脚手架

模板类型 名称 版本 描述
nuget Furion.Template.Mvc nuget Mvc 模板
nuget Furion.Template.Api nuget WebApi 模板
nuget Furion.Template.App nuget Mvc/WebApi 模板
nuget Furion.Template.Razor nuget RazorPages 模板
nuget Furion.Template.RazorWithWebApi nuget RazorPages/WebApi 模板
nuget Furion.Template.Blazor nuget Blazor 模板
nuget Furion.Template.BlazorWithWebApi nuget Blazor/WebApi 模板

如何使用脚手架

🍎 框架特点

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

🥝 功能模块

🥐 框架依赖

Furion 为了追求极速入门,极致性能,尽可能的不使用或减少第三方依赖。目前 Furion 仅集成了以下两个依赖:

麻雀虽小五脏俱全。Furion 即使只集成了这两个依赖,但是主流的 依赖注入/控制反转AOP 面向切面编程,事件总线数据验证数据库操作 等等一个都不少。

🥗 环境要求

  • Visual Studio 2019 16.8 +
  • .NET 5 SDK +
  • .Net Standard 2.1 +

🥪 支持平台

  • 运行环境
    • Windows
    • Linux
    • MacOS/MacOS M1 CPU
    • Docker/K8S/K3S/Rancher
    • Xamarin/MAUI
  • 数据库
    • SqlServer
    • Sqlite
    • Azure Cosmos
    • MySql
    • MariaDB
    • PostgreSQL
    • InMemoryDatabase
    • Oracle
    • Firebird
    • 达梦数据库
    • MongoDB
  • 应用部署
    • Kestrel
    • Nginx
    • Jexus
    • IIS
    • Apache
    • PM2
    • Supervisor
    • 独立发布/单文件
    • 容器(Docker/K8S/K3S/Rancher)

🍖 关于性能

Furion 目前采用 Visual Studio 2019 16.8 自带性能测试和 JMeter 进行测试,由于篇幅有限,只贴部分测试图,测试结果如下:

🌴 Stars 趋势图

🍻 贡献代码

Furion 遵循 MulanPSL-2.0 开源协议,欢迎大家提交 PR  Issue

如果要为项目做出贡献,请查看 贡献指南。感谢每一位为 Furion 贡献代码的朋友。

💖本期更新

  • 新特性

    • [新增] IFormFile 拓展方法 ToByteArray()
  • 突破性变化

    • [更新] 所有依赖包至最新版
  • 问题修复

    • [修复] Swagger  schema 类型如果是 C# Object 类型无法正确生成前端代码问题 Swagger 官方 Issue 1a25274
    • [修复] Worker Service 发布成 Windows Services 时日志绝对路径问题 感谢 @jacoat !467
  • 其他更改

    • [调整] 定时任务失败后异常处理逻辑,感谢 @程小胜 !463
  • 文档

    • [更新] 定时任务文档,日志文档
    • [新增] 文件上传/下载 文档,包含单文件/多文件/Base64/Byte[]

展开阅读全文
精彩评论
这README就得写三天,哈哈
2022-04-15 06:40
4
举报
欢迎路大佬,这个 README 是之前写好的~~
2022-04-15 09:18
2
举报
是滴,光实现功能就花了一整年,然后又花了半年的时间去写文档~~
2022-04-15 15:26
1
举报
表示支持。这一堆东西搞起来不容易,学习学习。
2022-04-15 13:47
1
举报
8 收藏
分享
6 评论
8 收藏
分享
返回顶部
顶部