分享刚出炉的基于Blazor技术的Web应用开发框架

这是最近刚刚重构完成的项目,有点迫不及待的分享给大家,为了跟上技术升级把原来基于MVC Razor Page开源项目 RazorPageCleanArchitecture 进行重构, 前端用Blazor-Server mode代替,后端架构和功能保持一致。具体内容可以访问GitHub了解.

Source Code Repo

Blazor Dashboard Application: https://github.com/neozhu/CleanArchitectureWithBlazorServer
Razor Page Application:https://github.com/neozhu/RazorPageCleanArchitecture
Code Generator Tools:https://github.com/neozhu/CleanArchitectureCodeGenerator

Live Demo

Live Demo: https://mudblazor-s.dotnet6.cn/
Video: https://www.youtube.com/watch?v=GyZJl_dG-Pg

Screenshots

分享刚出炉的基于Blazor技术的Web应用开发框架_第1张图片
分享刚出炉的基于Blazor技术的Web应用开发框架_第2张图片

为什么采用Blazor Server mode而不是用前后端分离的Webassembly mode开发

因为简单,采用前后端分离的架构,需要在Server端加WebApiController,Webassembly还需要生成Http Client,这里我觉得存在非常多的重复工作,而对于普通的小型项目我认为没有必要把时间花在这里,前后端分离反而会让架构和代码变得更加复杂。当然Blazor Server mode还有很多优势比如性能加载速度明显要比Webassembly要快,具体的对比可以从网上查到。

开发环境

  • DotNet 6
  • Microsoft Visual Studio 2022 (64-bit)
  • Support Docker

依赖第三方库(重点)

  • Entity Framework Core 6
  • FluentValidation(https://github.com/FluentValidation/FluentValidation)
  • MediatR(https://github.com/jbogard/MediatR)
  • MudBlazor(https://mudblazor.com/)

技术

  • Blazor Server
  • MudBlazor UI Component
  • MediatR
  • Fluent Validation

主要功能

  • 代码生成工具: https://github.com/neozhu/CleanArchitectureCodeGenerator
  • Theme管理: 颜色主题的配置
  • 多语言: 支持多语言切换
  • 用户管理:注册,角色授权
  • 角色管理:角色授权管理
  • 菜单导航管理: comming soon
  • 服务监控:comming soon
  • 定时任务:comming soon
  • 字典管理:comming soon
  • 通知管理:comming soon
  • 操作日志:comming soon
  • 系统日志:comming soon
    以上还有很多功能没有迁移过来,后面会慢慢更新。

How to

参考 application/features/Products 增删改查的代码,还包含导入导出功能和图片上传功能

开发体验

一句话用了Blazor开发Web应用程序再也不想回到用Jquery, DOM对象的操作了, 只用c#就能开发出与VUE或是Angular,React一样的SPA应用, 这真的是一种非常酷的体验。

最后

如果你对这个项目感兴趣,可以给星吗。

你可能感兴趣的:(分享刚出炉的基于Blazor技术的Web应用开发框架)