分享剛出爐的基於Blazor技術的Web應用開發框架

阿新發表於2022-02-14

這是最近剛剛重構完成的專案,有點迫不及待的分享給大家,為了跟上技術升級把原來基於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 Server mode而不是用前後端分離的Webassembly mode開發

因為簡單,採用前後端分離的架構,需要在Server端加WebApiController,Webassembly還需要生成Http Client,這裡我覺得存在非常多的重複工作,而對於普通的小型專案我認為沒有必要把時間花在這裡,前後端分離反而會讓架構和程式碼變得更加複雜。當然Blazor Server mode還有很多優勢比如效能載入速度明顯要比Webassembly要快,具體的對比可以從網上查到。

開發環境

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

依賴第三方庫(重點)

技術

  • 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應用, 這真的是一種非常酷的體驗。

最後

如果你對這個專案感興趣,可以給星嗎。

相關文章