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

134 lines
5.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 | 集成的都是常用的,但是也集成了不少微服务开发和分布式总线上才用到的,会显得比较臃肿 | 集成的有常用的有较新的比如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)](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