ABP Framework 支持的 UI 框架
該頁面詳細介紹了 ABP Framework 支持的三種 UI 框架(Angular、Blazor、MVC/Razor Pages),以及它們的架構、依賴、項目結構和共享基礎設施。
框架概述
ABP 提供三種獨立又可組合使用的 UI 框架,它們通過共享后端服務保持功能一致性,滿足不同開發偏好和部署場景。
Blazor Server
Blazor WebAssembly
MVC Razor Pages
Blazor UI 框架
Blazor 托管模型
Blazorise 集成
組件類型 | 包 | 用途 |
---|
核心組件 Core Components | Blazorise | 基礎 UI 組件 |
數據網格 Data Grid | Blazorise.DataGrid | 帶排序、過濾的高級數據表格 |
通知 Notifications | Blazorise.Snackbar | Toast 通知 |
擴展組件 Extended Components | Blazorise.Components | 額外 UI 元素 |
Bootstrap 主題 | Blazorise.Bootstrap5 | Bootstrap 5 樣式 |
圖標 Icons | Blazorise.Icons.FontAwesome | FontAwesome 圖標集成 |
項目依賴
- 身份管理:
Volo.Abp.Identity.Blazor.Server
(用戶和角色管理) - 租戶管理:
Volo.Abp.TenantManagement.Blazor.Server
(多租戶) - 設置管理:
Volo.Abp.SettingManagement.Blazor.Server
(配置) - 認證:
Volo.Abp.Account.Web.OpenIddict
(OAuth/OpenID Connect) - 主題:
Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme
(UI 主題)
MVC 和 Razor Pages 框架
MVC 項目結構
關鍵 MVC 功能
- 模塊化 UI:每個 ABP 模塊提供兼容 MVC 的 UI 組件
- 主題系統:可插拔主題架構,默認使用 LeptonXLite
- 標簽助手:用于常見 UI 模式的自定義標簽助手
- 捆綁:自動 CSS/JS 捆綁和壓縮
- 本地化:帶資源文件的服務器端本地化
共享基礎設施
主題系統架構
模塊用戶界面集成
模塊 | Blazor 包 | MVC 包 |
---|
身份 | Volo.Abp.Identity.Blazor.Server | Volo.Abp.Identity.Web |
租戶管理 | Volo.Abp.TenantManagement.Blazor.Server | Volo.Abp.TenantManagement.Web |
權限管理 | 集成在其他模塊 | 集成在其他模塊 |
設置管理 | Volo.Abp.SettingManagement.Blazor.Server | Volo.Abp.SettingManagement.Web |
功能管理 | Volo.Abp.FeatureManagement.Blazor.Server | Volo.Abp.FeatureManagement.Web |
賬戶 | Volo.Abp.Account.Web.OpenIddict | Volo.Abp.Account.Web.OpenIddict |
跨框架兼容性
- 認證
Authentication
:所有框架使用相同的基于 OpenIddict 的認證 - 授權
Authorization
:權限系統在所有 UI 中一致工作 - 本地化
Localization
:相同的資源文件和本地化鍵 - 多租戶
Multi-tenancy
:租戶解析和切換統一工作 - 模塊集成
Module Integration
:業務模塊為所有框架提供 UI