134 lines
5.8 KiB
Markdown
134 lines
5.8 KiB
Markdown
# Furion
|
||
|
||
## 脚手架
|
||
|
||
Furion+SqlSugar WebAPI
|
||
|
||

|
||
|
||
从.NET5到.NET8都可以选择
|
||
|
||

|
||
|
||
## 项目结构
|
||
|
||

|
||
|
||
## 引用
|
||
|
||
Core -> Application -> Web.Core -> Web.Entry
|
||
|
||
↓ -> System -> Web.Core -> Web.Entry
|
||
|
||
依赖在Core中安装
|
||
|
||
## 依赖安装
|
||
|
||

|
||
|
||
|
||
|
||
# Blog.Core
|
||
|
||
## 项目结构
|
||
|
||
### 后端
|
||
|
||

|
||
|
||
### 前端
|
||
|
||

|
||
|
||
## 引用
|
||
|
||
Model -> Common -> IServices -> Services -> Entensions -> Api
|
||
|
||
-> Tasks
|
||
|
||
## 依赖安装
|
||
|
||

|
||
|
||
`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
|
||
|
||
## 项目结构
|
||
|
||
### 后端
|
||
|
||

|
||
|
||
### 前端
|
||
|
||

|
||
|
||
[ZRAdmin.NET在线文档 (izhaorui.cn)](http://www.izhaorui.cn/doc/)
|
||
|
||
## 引用
|
||
|
||
common -> Tasks ->
|
||
|
||
Model -> Repository -> Service -> WebApi
|
||
|
||
Infrastructure ->
|
||
|
||
项目结构比较像Java的若依框架
|
||
|
||
## 依赖安装
|
||
|
||

|
||
|
||
# 优缺点对比
|
||
|
||
| | 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
|
||
|