分享剛出爐的基於Blazor技術的Web應用開發框架
這是最近剛剛重構完成的項目,有點迫不及待的分享給大家,為了跟上技術升級把原來基於MVC Razor Page開源項目 RazorPageCleanArchitecture 進行重構, 前端用Blazor-Server mode代替,後端架構和功能保持一致。具體內容可以訪問GitHub了解.
Source Code Repo
Blazor Dashboard Application: //github.com/neozhu/CleanArchitectureWithBlazorServer
Razor Page Application://github.com/neozhu/RazorPageCleanArchitecture
Code Generator Tools://github.com/neozhu/CleanArchitectureCodeGenerator
Live Demo
Live Demo: //mudblazor-s.dotnet6.cn/
Video: //www.youtube.com/watch?v=GyZJl_dG-Pg
Screenshots
為什麼採用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(//github.com/FluentValidation/FluentValidation)
- MediatR(//github.com/jbogard/MediatR)
- MudBlazor(//mudblazor.com/)
技術
- Blazor Server
- MudBlazor UI Component
- MediatR
- Fluent Validation
主要功能
- 程式碼生成工具: //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應用, 這真的是一種非常酷的體驗。
最後
如果你對這個項目感興趣,可以給星嗎。