7 ABP Framework 支持的 UI 框架

ABP Framework 支持的 UI 框架

該頁面詳細介紹了 ABP Framework 支持的三種 UI 框架(Angular、Blazor、MVC/Razor Pages),以及它們的架構、依賴、項目結構和共享基礎設施。

框架概述

ABP 提供三種獨立又可組合使用的 UI 框架,它們通過共享后端服務保持功能一致性,滿足不同開發偏好和部署場景。

Blazor Server
Shared Infrastructure
Backend Services
UI Layer
Theme System
LeptonXLite, Basic
Localization
Resource Files
UI Modules
Identity, Tenant, Settings
HTTP API Layer
Controllers & DTOs
Application Services
Business Logic
Domain Layer
Entities & Services
Blazor Server
Volo.Abp.BlazoriseUI
Blazor WebAssembly
Shared Infrastructure
Backend Services
UI Layer
Theme System
LeptonXLite, Basic
Localization
Resource Files
UI Modules
Identity, Tenant, Settings
HTTP API Layer
Controllers & DTOs
Application Services
Business Logic
Domain Layer
Entities & Services
Blazor WebAssembly
Volo.Abp.BlazoriseUI
MVC Razor Pages
Shared Infrastructure
Backend Services
UI Layer
Theme System
LeptonXLite, Basic
Localization
Resource Files
UI Modules
Identity, Tenant, Settings
HTTP API Layer
Controllers & DTOs
Application Services
Business Logic
Domain Layer
Entities & Services
MVC/Razor Pages
Volo.Abp.AspNetCore.Mvc.UI

Blazor UI 框架

Blazor 托管模型

Shared Components
Blazor Web App (.NET 8+)
Blazor WebAssembly
Blazor Server
Volo.Abp.BlazoriseUI
Base Components
Blazorise.Bootstrap5
UI Framework
Blazorise.DataGrid
Data Tables
Interactive Web App
MyCompanyName.MyProjectName.Blazor.WebApp
Interactive Client
MyCompanyName.MyProjectName.Blazor.WebApp.Client
Hybrid Runtime
Server + Client
WASM Host
MyCompanyName.MyProjectName.Blazor
WASM Client
MyCompanyName.MyProjectName.Blazor.Client
.NET Runtime
Browser WASM
Blazor Server App
MyCompanyName.MyProjectName.Blazor.Server
SignalR Connection
Real-time UI Updates
.NET Runtime
Server-side Execution

Blazorise 集成

組件類型用途
核心組件 Core ComponentsBlazorise基礎 UI 組件
數據網格 Data GridBlazorise.DataGrid帶排序、過濾的高級數據表格
通知 NotificationsBlazorise.SnackbarToast 通知
擴展組件 Extended ComponentsBlazorise.Components額外 UI 元素
Bootstrap 主題Blazorise.Bootstrap5Bootstrap 5 樣式
圖標 IconsBlazorise.Icons.FontAwesomeFontAwesome 圖標集成

項目依賴

  • 身份管理: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 項目結構

Theme Integration
Module UI Integration
MVC Application
LeptonXLite Theme
Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite
Shared Theme Base
Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared
Multi-tenancy UI
Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy
Identity Web UI
Volo.Abp.Identity.Web
Tenant Management Web
Volo.Abp.TenantManagement.Web
Settings Web UI
Volo.Abp.SettingManagement.Web
Account Web UI
Volo.Abp.Account.Web.OpenIddict
MVC Host
MyCompanyName.MyProjectName.Web
Razor Pages
Server-side Rendering
ABP Tag Helpers
UI Components

關鍵 MVC 功能

  • 模塊化 UI:每個 ABP 模塊提供兼容 MVC 的 UI 組件
  • 主題系統:可插拔主題架構,默認使用 LeptonXLite
  • 標簽助手:用于常見 UI 模式的自定義標簽助手
  • 捆綁:自動 CSS/JS 捆綁和壓縮
  • 本地化:帶資源文件的服務器端本地化

共享基礎設施

主題系統架構

Base Theme Infrastructure
Framework-Specific
Theme Packages
Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared
Common Theme Services
Volo.Abp.AspNetCore.Components.Web.Theming
Component Theming Base
@abp/ng.theme.lepton-x
Angular Implementation
Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite
MVC Implementation
Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme
Blazor Implementation
LeptonXLite Theme
Default Premium Theme
Basic Theme
Simple Bootstrap Theme
LeptonX Theme
Advanced Premium Theme

模塊用戶界面集成

模塊Blazor 包MVC 包
身份Volo.Abp.Identity.Blazor.ServerVolo.Abp.Identity.Web
租戶管理Volo.Abp.TenantManagement.Blazor.ServerVolo.Abp.TenantManagement.Web
權限管理集成在其他模塊集成在其他模塊
設置管理Volo.Abp.SettingManagement.Blazor.ServerVolo.Abp.SettingManagement.Web
功能管理Volo.Abp.FeatureManagement.Blazor.ServerVolo.Abp.FeatureManagement.Web
賬戶Volo.Abp.Account.Web.OpenIddictVolo.Abp.Account.Web.OpenIddict

跨框架兼容性

  • 認證 Authentication:所有框架使用相同的基于 OpenIddict 的認證
  • 授權 Authorization:權限系統在所有 UI 中一致工作
  • 本地化 Localization:相同的資源文件和本地化鍵
  • 多租戶 Multi-tenancy:租戶解析和切換統一工作
  • 模塊集成 Module Integration:業務模塊為所有框架提供 UI

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/93117.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/93117.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/93117.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++中的`if`語句多操作條件執行及順序保證技術指南

C中的if語句多操作條件執行及順序保證技術指南 1. 引言 在C編程中,if語句是控制程序流程的基本結構。隨著C17引入if語句的初始化部分,開發者獲得了在條件判斷前執行初始化操作的能力。然而,實際開發中常遇到更復雜的場景:?在條件…

基于SpringBoot+Uniapp的非遺文化宣傳小程序(AI問答、協同過濾算法、Echarts圖形化分析)

“ 🎈系統亮點:AI問答、協同過濾算法、Echarts圖形化分析”01系統開發工具與環境搭建前后端分離架構項目架構:B/S架構運行環境:win10/win11、jdk17小程序端:技術:Uniapp;UI庫:colorU…

[TG開發]簡單的回聲機器人

你好! 如果你想了解如何在Java上編寫Telegram機器人&#xff0c;你來對地方了!準備啟動機器人API基于HTTP請求&#xff0c;但在本書中我將使用Rubenlagus的Java庫安裝庫你可以使用不同的方法安裝TelegramBots庫, 我這里使用Maven<dependency><groupId>org.telegram…

Ubuntu下快速安裝Tomcat教程

Apache Tomcat 是一個開源的軟件服務器,用于部署和運行 Java Servlet 和 JSP(JavaServer Pages)。本文將詳細介紹如何在 Ubuntu 系統上安裝并配置 Apache Tomcat。無論你是要開發企業級應用還是學習 Java Web 開發,Tomcat 都是一個不可或缺的工具。 Tomcat 基礎功能 Tomca…

并發編程(八股)

概述并行:同一個時間點,多個線程同時執行 并發:同一個時間段,多個線程交替執行,微觀上是一個一個的執行,宏觀上感覺是同時執行 核心問題: 多線程訪問共享數據存在資源競用問題 不可見性 java內存模型(jmm) 變量數據都存在于主內存里,每個線程還有自己的工作內存(本地內存),規定…

如何在 Spring Boot 中設計和返回樹形結構的組織和部門信息

如何在 Spring Boot 中設計和返回樹形結構的組織和部門信息 文章目錄如何在 Spring Boot 中設計和返回樹形結構的組織和部門信息1. 需求分析一、數據庫表設計1.1 organization 表設計1.2 department 表設計1.3 模擬數據二、后端設計2.1 實體類設計Organization 實體類Departmen…

Java畢業設計選題推薦 |基于SpringBoot的水產養殖管理系統 智能水產養殖監測系統 水產養殖小程序

&#x1f525;作者&#xff1a;it畢設實戰小研&#x1f525; &#x1f496;簡介&#xff1a;java、微信小程序、安卓&#xff1b;定制開發&#xff0c;遠程調試 代碼講解&#xff0c;文檔指導&#xff0c;ppt制作&#x1f496; 精彩專欄推薦訂閱&#xff1a;在下方專欄&#x1…

排序概念、插入排序及希爾排序

一、排序基本概念1.就地排序&#xff1a;使用恒定的額外空間來產生輸出就地排序只是在原數組空間進行排序處理&#xff0c;也就是輸入的數組和得到的數組是同一個2.內部排序和外部排序&#xff1a;待排序數據可以一次性載入到內存中為內部排序&#xff0c;反之數據量過大就是外…

【排序算法】④堆排序

系列文章目錄 第一篇&#xff1a;【排序算法】①直接插入排序-CSDN博客 第二篇&#xff1a;【排序算法】②希爾排序-CSDN博客 第三篇&#xff1a;【排序算法】③直接選擇排序-CSDN博客 第四篇&#xff1a;【排序算法】④堆排序-CSDN博客 第五篇&#xff1a;【排序算法】⑤冒…

Android領域驅動設計與分層架構實踐

引言在Android應用開發中&#xff0c;隨著業務邏輯日益復雜&#xff0c;傳統的MVC或簡單MVP架構往往難以應對。領域驅動設計(Domain-Driven Design, DDD)結合分層架構&#xff0c;為我們提供了一種更系統化的解決方案。本文將探討如何在Android項目中應用DDD原則與分層架構&…

Android12 Framework電話功能UI定制

文章目錄簡介代碼中間按鈕Fragment創建VideoCallFragmentFragment管理添加按鍵掛斷電話功能相關文章簡介 Android版本&#xff1a;12 芯片平臺&#xff1a;展銳 如下圖為通話中的UI&#xff0c;打電話出去時顯示的UI與此也差不多&#xff0c;但來電時UI是不一樣的 這個界面是…

高并發場景下分布式ID生成方案對比與實踐指南

高并發場景下分布式ID生成方案對比與實踐指南 在分布式系統中&#xff0c;唯一且全局有序的ID生成器是很多業務的底層組件。隨著系統并發量不斷攀升&#xff0c;如何在高并發場景下保證ID的唯一性、性能、可用性和可擴展性&#xff0c;成為后端架構師需要重點考慮的問題。本文將…

Emscripten 指南:概念與使用

Emscripten 指南&#xff1a;概念與使用 什么是 Emscripten&#xff1f; Emscripten 是一個開源的編譯器工具鏈&#xff0c;用于將 C/C 代碼編譯成高效的 WebAssembly&#xff08;Wasm&#xff09;和 JavaScript。它基于 LLVM 編譯器架構&#xff0c;允許開發者&#xff1a; ?…

使用鏡像網站 打開克隆 GitHub 網站倉庫內容 git clone https://github.com/

GitHub 網站有時因 DNS 解析問題或網絡限制&#xff0c;國內訪問可能會受限。使用鏡像網站打開網站 使用鏡像網站&#xff1a;GitHub 有一些鏡像網站&#xff0c;可替代官網訪問&#xff0c;如https://hub.fastgit.org、https://gitclone.com、https://github.com.cnpmjs.org等…

Linux隨記(二十二)

一、redhat6.5 從openssh5.3 升級到openssh10 - 報錯處理【升級后賬號密碼一直錯誤 和 sshd dead but subsys locked】 虛擬機測試情況 - 正常&#xff1a;情況一、 升級后賬號密碼一直錯誤 情況二、 執行service sshd status出現 sshd dead but subsys locked

機器學習之TF-IDF文本關鍵詞提取

目錄 一、什么是 TF-IDF&#xff1f; 1.語料庫概念理解 二、TF-IDF 的計算公式 1. 詞頻&#xff08;TF&#xff09; 2. 逆文檔頻率&#xff08;IDF&#xff09; 3. TF-IDF 值 三、關鍵詞提取之中文分詞的實現 四、TF-IDF簡單案例實現 &#xff08;1&#xff09;數據集…

Flutter屏幕和字體適配(ScreenUtil)

一、簡介 flutter_screenutil 是一個 Flutter 插件&#xff0c;專門用于處理屏幕適配問題。它簡化了不同設備間尺寸差異的處理&#xff0c;確保你的應用在各種屏幕上都能保持良好的顯示效果。開發者可以通過簡單的調用來設置基于設計圖尺寸的控件寬高和字體大小。 項目地址&a…

mimiconda+vscode

安裝miniconda實現python包管理&#xff0c;并通過vscode進行編寫python代碼 miniconda簡單介紹 Miniconda 是 Anaconda 公司的一個輕量級 Python 發行版本&#xff0c;它包含了最基本的包管理器 conda 和 Python 環境&#xff0c;只帶最核心的組件&#xff0c;沒有額外的大量科…

Windows文件時間修改指南:從手動到自動化

修改文件的時間屬性可以滿足多種需求。比如&#xff0c;它可以幫助整理文件&#xff0c;使得文件按照特定的時間順序排列&#xff0c;有助于更好地管理資料。它的體積真小&#xff0c;才300多KB。能用來調整文件的創建時間、最后訪問和修改時間。文件時間屬性修改_NewFileTime.…

能刷java題的網站

以下是一些適合刷Java題的優質網站&#xff0c;涵蓋從基礎到進階、算法面試及實戰項目等多種需求&#xff1a; ?一、綜合編程練習平臺? ?LeetCode?&#xff08;leetcode.com&#xff09; ?特點?&#xff1a;全球最知名的算法題庫&#xff0c;含海量Java題目&#xff0c;分…