XiaodaBlogSource/source/_posts/新建 Markdown File.md
2023-11-01 10:31:16 +08:00

5.8 KiB
Raw Blame History

Furion

脚手架

Furion+SqlSugar WebAPI

image-20230328091559534

从.NET5到.NET8都可以选择

image-20230328091506895

项目结构

image-20230328101328375

引用

Core -> Application -> Web.Core -> Web.Entry

↓ -> System -> Web.Core -> Web.Entry

依赖在Core中安装

依赖安装

image-20230403130044894

Blog.Core

项目结构

后端

image-20230329124950571

前端

image-20230403155403966

引用

Model -> Common -> IServices -> Services -> Entensions -> Api

-> Tasks

依赖安装

image-20230403125509263

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

前端

image-20230403155626904

ZRAdmin.NET在线文档 (izhaorui.cn)

引用

common -> Tasks ->

Model -> Repository -> Service -> WebApi

Infrastructure ->

项目结构比较像Java的若依框架

依赖安装

image-20230403132814465

优缺点对比

Furion Blog.Core ZRAdmin.NET
项目结构 跟MVC三层架构还是有不少差别可能有DDD的思想在里面只是业务层做了系统和应用层区分和B端的ERP有很大差别 比较符合MVC三层架构但是其中的时间总线和路由是项目用不上的如果做拆分会有依赖引用问题 比较像Java的若依框架经典三层架构只是Infrastructure 其实可以合并到Common中
依赖安装 Furion集成不少依赖虽然开发方便但由于都是集成的后续有升级难度定时任务是框架重写了一套没有用到Quartz.Net 集成的都是常用的,但是也集成了不少微服务开发和分布式总线上才用到的,会显得比较臃肿 集成的有常用的有较新的比如NLogMapster但实际看来是比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)

前端开发环境

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/node-v16.20.0-x64.msi