# Furion ## 脚手架 Furion+SqlSugar WebAPI ![image-20230328091559534](https://markdownhexo.oss-cn-hangzhou.aliyuncs.com/img/image-20230328091559534.png) 从.NET5到.NET8都可以选择 ![image-20230328091506895](https://markdownhexo.oss-cn-hangzhou.aliyuncs.com/img/image-20230328091506895.png) ## 项目结构 ![image-20230328101328375](https://markdownhexo.oss-cn-hangzhou.aliyuncs.com/img/image-20230328101328375.png) ## 引用 Core -> Application -> Web.Core -> Web.Entry ​ ↓ -> System -> Web.Core -> Web.Entry 依赖在Core中安装 ## 依赖安装 ![image-20230403130044894](https://markdownhexo.oss-cn-hangzhou.aliyuncs.com/img/image-20230403130044894.png) # Blog.Core ## 项目结构 ### 后端 ![image-20230329124950571](https://markdownhexo.oss-cn-hangzhou.aliyuncs.com/img/image-20230329124950571.png) ### 前端 ![image-20230403155403966](https://markdownhexo.oss-cn-hangzhou.aliyuncs.com/img/image-20230403155403966.png) ## 引用 Model -> Common -> IServices -> Services -> Entensions -> Api ​ -> Tasks ## 依赖安装 ![image-20230403125509263](https://markdownhexo.oss-cn-hangzhou.aliyuncs.com/img/image-20230403125509263.png) `AutoMapper` -> **Model** `AutoMapper.Extensions.Microsoft.DependencyInjection` -> **Model** `log4net` -> **Common** `Autofac.Extras.DynamicProxy` -> **Extensions** `Autofac.Extensions.DependencyInjection` -> **Extensions** `Newtonsoft.Json` -> **Extensions** `Quartz` -> **Tasks** `SqlSugarCore` -> **Model** `StackExchange.Redis` -> **Common** `FluentValidation.AspNetCore` -> **Api** `FluentValidation.DependencyInjectionExtensions` -> **Api** # ZRAdmin.NET ## 项目结构 ### 后端 ![image-20230403130320936](https://markdownhexo.oss-cn-hangzhou.aliyuncs.com/img/image-20230403130320936.png) ### 前端 ![image-20230403155626904](https://markdownhexo.oss-cn-hangzhou.aliyuncs.com/img/image-20230403155626904.png) [ZRAdmin.NET在线文档 (izhaorui.cn)](http://www.izhaorui.cn/doc/) ## 引用 ​ common -> Tasks -> Model -> Repository -> Service -> WebApi Infrastructure -> 项目结构比较像Java的若依框架 ## 依赖安装 ![image-20230403132814465](https://markdownhexo.oss-cn-hangzhou.aliyuncs.com/img/image-20230403132814465.png) # 优缺点对比 | | Furion | Blog.Core | ZRAdmin.NET | | ------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | | 项目结构 | 跟MVC三层架构还是有不少差别,可能有DDD的思想在里面,只是业务层做了系统和应用层区分,和B端的ERP有很大差别 | 比较符合MVC三层架构,但是其中的时间总线和路由,是项目用不上的,如果做拆分,会有依赖引用问题 | 比较像Java的若依框架,经典三层架构,只是Infrastructure ,其实可以合并到Common中 | | 依赖安装 | Furion集成不少依赖,虽然开发方便,但由于都是集成的,后续有升级难度,定时任务是框架重写了一套,没有用到Quartz.Net | 集成的都是常用的,但是也集成了不少微服务开发和分布式总线上才用到的,会显得比较臃肿 | 集成的有常用的,有较新的,比如NLog,Mapster,但实际看来是比Log4Net和AutoMapper性能要强,Autofac没有集成,使用ASP.Net自带的封装注解,Redis客户端工具类使用的是CSRedisCore,没有用StackExchange.Redis,但是据说存在不定时连接超时的问题,还有就是没有IdentityServer 4的集成 | | 文档 | 全 | 较全,但文档日期停留在 2021-08-21 | 全,比较像Java的若依框架文档 | | 近期维护更新 | 常有,最近的是2小时前,但是仔细看提交记录,其实更新主要还是在文档上 | 有,最近的是20小时前,着重于日志,多租户方面的更新 | 有,最近的是15天前,目前项目总体进入维护状态,大的改动没有,比较稳定,只有针对ISSUE的提交 | | 其他 | 脚手架方便搭建,但是Furion更像是一个工具包集合,而不是框架,没有Admin等功能,所以这部分还需要自己去完成,因为这只是个架子 | 有博客端也有Admin端,但是仍是使用的Vue2,技术栈较久,今年年末就会停止维护,API没有进行分层,都写在一个JS中,后期不好维护,层叠样式表使用CSS,相比较SCSS,语法上较为麻烦 | 有Vue2,也有Vue3版的管理端,可以着重于应用业务上的开发,唯一的是前端使用了JavaScript开发,如果是TypeScript会更好,前端风格跟Java的若依框架前端基本一致,功能也是。后端Redis没有默认开启,需要手动集成,作者很贴心的留了注解,ORM用了sqlsugar,用了多租户,但是配置是在代码中,其实自己给移到配置文件里是最好的 | | 推荐指数 | 3 | 4 | 5 | # 后端开发环境 `Visual Studio 2022` **dotnet-sdk-7.0.202-win-x64.exe** [下载 .NET 7.0 SDK (v7.0.202) - Windows x64 Installer (microsoft.com)](https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/sdk-7.0.202-windows-x64-installer) # 前端开发环境 `Visual Studio Code` 安装扩展 `Volar` `i18n Ally` **node-v16.20.1-x64.msi** [Index of /download/release/v16.20.0/ (nodejs.org)](https://nodejs.org/download/release/v16.20.0/) https://nodejs.org/download/release/v16.20.0/node-v16.20.0-x64.msi