1 Star 0 Fork 4K

熊超 / Furion

forked from 老胡来也 / Furion 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

star fork GitHub stars GitHub forks GitHub license nuget

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

💐 序言

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

🍕 名字的由来

故事是这样子的:

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

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

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

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

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

🍔 关于 LOGO

Furion 标志设计理念是借鉴著名的 袋鼠理论 设计的。

袋鼠具有长腿、育袋、自我奔跑特点。

  • 长腿:代表着 Furion 拥有稳健的双腿,走在科技的前沿,走的更远,跑的更快。
  • 育袋:小育袋、大作为。期待 Furion 能够育孕出更多 .NET 优秀开发者和生机勃勃的生态。
  • 自我奔跑Furion 自身也要不断学习、不断进步、不断创新、不断开拓。

🍯 开源案例

  • 考试君:基于 Furion 的在线考试系统
  • 园丁:基于 Furion + Blazor 的超简单后台管理系统
  • Queer:基于 Furion + Layui 的通用型管理系统
  • Pear AdminPearAdmin 官方和 Furion 官方合作管理系统
  • JoyAdmin:基于 Furion + iviewadmin 开发的管理系统

🍟 文档地址

目前文档正在逐步完善中。

🥦 系列教程

🌭 开源地址

🍿 Docker 镜像

  • Docker Hub 线上镜像
docker run --name furion -p 5000:80 monksoul/furion:v1.4.3
  • 手动 打包镜像

打开 CMD/Shell/PowerShell 进入 Furion 项目根目录打包 Furion 镜像:

docker build -t furion:v1.4.3 .

打包成功后,直接 docker run

docker run --name furion -p 5000:80 furion:v1.4.3

🥥 Furion 官方包

包类型 名称 版本 描述
nuget Furion nuget Furion 核心包
nuget Furion.Extras.Authentication.JwtBearer nuget Furion Jwt 拓展包
nuget Furion.Extras.DependencyModel.CodeAnalysis nuget Furion CodeAnalysis 拓展包
nuget Furion.Extras.Web.HttpContext nuget Furion HttpContext 拓展包
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.Logging.Serilog nuget Furion Serilog 拓展包

🍄 Furion 脚手架

模板类型 名称 版本 描述
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 模板

如何使用脚手架

🍎 框架特点

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

🥞 架构设计

正在整理中...

🥝 功能模块

🥐 框架依赖

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

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

🥗 环境要求

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

🥪 支持平台

  • 运行环境
    • Windows
    • Linux
    • MacOS
    • Docker/K8S/K3S/Rancher
    • Xamarin/MAUI
  • 数据库
    • SqlServer
    • Sqlite
    • Azure Cosmos
    • MySql
    • MariaDB
    • PostgreSQL
    • InMemoryDatabase
    • Oracle(并未完全适配
    • Firebird
    • 达梦数据库
  • 应用部署
    • Kestrel
    • Nginx
    • Jexus
    • IIS
    • Apache
    • PM2
    • Supervisor
    • 单文件
    • 容器(Docker/K8S/K3S/Rancher)

🍖 关于性能

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


🍚 关于作者

一个拥有 12 年开发经验 .NETer。喜欢分享,喜欢新技术,在互联网多个技术领域皆有涉猎,MIP(dotNET China Most Influential Professionals) 专家,同时多次获得开源中国 Gitee 授予 GVP 证书。

🍤 项目成员

🎈 欢迎更多的开发者加入 Furion 大家庭。

🍝 他们都在用

  • 百签科技(广东)有限公司
  • 码为科技(广州)有限公司
  • 夫上技术(阳江)有限公司
  • 广州启顺国际货运代理有限公司
  • 森丰供应链服务(广州)有限公司
  • 中山赢友网络科技有限公司
  • 中山模思软件科技有限公司
  • 珠海市恒泰新软件有限责任公司
  • 珠海思诺锐创软件有限公司
  • 深圳市易胜科技有限公司
  • 重庆虫儿飞科技有限公司
  • 重庆林木森科技有限公司
  • 深圳市品立方科技有限公司
  • 上海奥达科股份有限公司
  • 中山市泓升软件科技有限公司
  • 唐山天权建筑科技有限公司
  • 北京帝龙科技有限公司
  • 深圳市希立网络有限公司
  • 广州市飞帆计算机技术有限公司
  • 泉州市润海信息科技有限公司
  • 成都市彼岸里信息科技有限公司
  • 福建省山水生活服务集团有限公司
  • 安徽宝典网络科技有限公司

如果您的项目使用到 Furion 开发,可以告诉我们。

🍻 贡献代码

Furion 遵循 Apache-2.0 开源协议,欢迎大家提交 PRIssue

如果要为项目做出贡献,请查看贡献指南。

🍍 捐赠列表

注:排序按捐赠顺序书写

捐赠人昵称 捐赠金额(元) 附语
🤴 爱吃油麦菜 100 感谢您的开源项目!
👳‍♂️ 麦壳饼 200 感谢您的开源项目!
👨 Sun 100 感谢您的开源项目!
👶 d617617 20 感谢您的开源项目!
👦 Diqiguoji008 16.66 见贤思齐
👲 nodyang 100 感谢您的开源项目!
👳‍♀️ mictxd 100 吹过的牛都实现。
🧓 欧流全 10 希望将来超越 Spring
👨‍⚕️ lionkon 10 ...看了框架感觉拿来学习是很不错的...
😤 好人! 10 Nice 的小僧,我们的 dotnetchina 马上火起来了
😮 木木 Woody 10 感谢您的开源项目!
😚 Joker Hou QQ 超级会员一个月
🤠 ccdfz QQ 专属红包 199
🌝 天夫李总 支付宝 6666 Furion 非常有意思,持续关注
😝 六尘子 微信红包 199 公司已经使用,小小敬意
🤠 ccdfz QQ 专属红包 200 赞助一根内存条
🤑 邓亮灯 28.88 感谢您的开源项目!
😬 天道酬勤 微信二维码 188 小小心意
🥰 却月居士 QQ 专属红包 100 恭喜发财
🤩 鲁旭 100 感谢您的开源项目!
😬 散客行 微信二维码 666 终于找到一个不错的框架
😌 本心 100 项目功能很强大
🙆‍♂️ 毕业生 100 请你喝杯咖啡
🦹‍♀️ 猪鼻子 微信二维码 668
🧟‍♂️ 明年·今日 200 使用的框架里最爽的,最理想的!加油
👨‍🎓 过去的过去 50 感谢您的开源项目!
👨‍🔧 万里兮 100 新公司的第一个项目从 Furion 开始
👴 Muphalem 20 很热心很亲切的开发者,加油!
💂‍♂️ 吃锅巴的码农 微信二维码 500 就冲你的文档写得好!
🤴 三重罗生门 微信红包 200 下次烤鱼你请!
🤵 李涛 10 加油,我们看到了 dotnet 美好的明天 :)

非常感谢您们的支持,正是因为您们,中国开源才可以越走越远,Furion 越走越远。

🥔 QQ 交流群

dotNET 中国 ① 🥇(已满)

dotNET 中国 ②(空余)

🧆 友情链接

👉 Furion 👉 SqlSugar 👉 Layx 👉 t-io 👉 ThinkPHP 👉 Hutool 👉 BootstrapAdmin 👉 BootstrapBlazor 👉 IoTSharp 👉 Anno.Core 👉 WaterCloud

🍵 特别鸣谢

在这里特别感谢 QQ 网名:蓝狐星Furion 提供演示云服务器。

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright © 2020 Furion, Baiqian Co.,Ltd. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

让 .NET 开发更简单,更通用,更流行。 展开 收起
C#
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C#
1
https://gitee.com/bear_chao123/Furion.git
git@gitee.com:bear_chao123/Furion.git
bear_chao123
Furion
Furion
master

搜索帮助

14c37bed 8189591 565d56ea 8189591