ABP Framework 5.3.0 版本新增功能和變更說明

1d08b58ecf668a5a32bab67f32cd2e59.png

ABP Framework 5.3.0 穩定版已在2022年6月14日正式發布。

以下是本版本的新增功能:

  • ??“開始”頁面提供創建單層項目選項

  • ??啟動模板提供 PWA 支持

  • ??Volo.Abp.Gdpr.Abstractions 包介紹

  • ??將發件箱中的事件批量發布到事件總線

  • ??eShopOnAbp 項目改進和電子書公告

  • ??LeptonX Lite 文檔、項目狀態和路線圖

  • ??OpenIddict 模塊和 Keyclock 集成

  • ??部署文檔

歡迎加入 ABP Framework 研習社,千人QQ學習群(QQ群:726299208),問題解答、經驗分享、示例源碼、電子書共享,歡迎入住!

“開始”頁面提供創建單層項目選項

單層項目,顧名思義生成的解決方案只有一個項目,邏輯上遵循DDD,適用于業務邏輯并不復雜的項目,優點是小而快,單層項目中良好的目錄劃分,如果后期項目開始變大,拆分成多層項目也很方便。

從“開始”頁面創建項目,在項目類型選項選擇?Application(single layer),即可使用 app-nolayers 模板生成新項目。

c5995b07580d810b3f27d992df0f9774.png

新的啟動模板可以在?templates/app-nolayers?目錄中查看,該模板在之前的版本中已經發布,只是在此版本中,可以在“開始”頁面中增加了該模板選項。

同樣的,我們還可以通過 ABP CLI 來創建單層項目

示例:

abp?new?-t?Acme.BookStore?app-nolayers

啟動模板提供 PWA 支持

ABP v5.3 應用程序啟動模板現在支持?Blazor WASM?和?Angular UI PWA。要創建支持 PWA 的啟動模板,可以使用?--pwa?參數。

示例:

abp?new?MyProgressiveWebApp?-t?app?-u?blazor?--pwa

?什么是PWA?PWA(Progressive Web Apps,漸進式 Web 應用),該技術的出現是通過各種 Web 技術實現與原生 App 相近的用戶體驗。擴展閱讀:

  • ??一文讀懂什么是 PWA?

  • ??PWA 入門: 寫個非常簡單的 PWA 頁面

Volo.Abp.Gdpr.Abstractions 包介紹

新的?Volo.Abp.Gdpr.Abstractions?包已添加到框架中。這是一個抽象包,因此不包含任何 GDPR 的實際實現。它定義了一些類和接口,為想要在模塊化或微服務系統中運行的 GDPR 模塊的制定標準。

什么是 GDPR?《通用數據保護條例》(General Data Protection Regulation,簡稱GDPR),歐洲聯盟于2018年5月25日出臺的條例,前身是歐盟在1995年制定的《計算機數據保護法》。

屆時,官方將為 ABP Commercial 商業用戶引入 GDPR 模塊,該模塊提供執行 GDPR 相關操作,例如:下載、刪除個人數據。

ABP Framework 版本需要自己實現。

將發件箱中的事件批量發布到事件總線

在 ABP v5.0 中引入了?事務發件箱和收件箱模式?,在 5.3.0 這個版本中對批量事件發布進行了一些優化,您可以從這里查看相關的開發。優化后的效果令人印象深刻。如果已配置事件發件箱則默認啟用,因此您不需要任何手動配置。

eShopOnAbp 項目改進和電子書公告

eShopOnAbp?項目持續開發中,以下是改進簡要說明:

  • ??本地證書可以在 Kubernetes 中使用,并且 Helm Charts 已更新,參見#107。

  • ??訂單管理頁面已創建完成,參見#92。

  • ??數據庫遷移事件處理程序已被刪除,分布式鎖定現在用于數據庫遷移。參見#85?和#102。

  • ??從?Ocelot?切換到?YARP?作為網關。見#97。

令人振奮的消息是,官方正在編寫《ABP 微服務開發》電子書。在本書中,我們使用 eShopOnAbp 作為參考的微服務解決方案,并試圖通過該項目解釋我們在微服務應用程序開發過程中的經驗。

本書計劃分為九章,并在第三章完成后提供。之后,您將能夠從 abp.io 網站下載這本免費的電子書。

ABP的學習資料無疑是非常豐富的,這是官方發布的第三本電子書。《實現 DDD》-已翻譯、《Mastering ABP Framework》在 ABP Framework 研習社(QQ群:726299208)群共享中有分享,ABP Framework 的目標之一是幫助開發人員更好地實現微服務架構,非常Nice,期待電子書發布!

LeptonX Lite 文檔、項目狀態和路線圖

LeptonX Lite 終于發布了?1.0.0-beta.1和?1.0.0-beta.2?版本。

Lepton X Lite 文檔已針對三種 UI 類型(MVC/Razor Pages、Blazor、Angular)分別編寫。

可以參考幫助文檔嘗試新的 LeptonX Lite 主題:

  • ??LeptonX Lite MVC UI

  • ??LeptonX Lite Blazor UI

  • ??LeptonX Lite Angular UI

目前啟動模板中的默認UI模板確實很Low,配不上框架本身的高大上,這就讓人很不爽,希望 LeptonX Lite 的發布能夠改變這一現狀。因為目前是 beta 版,所以不建議在生產中使用,但強烈建議提前測試。

對于下一個版本(beta.3 和 RC 版本),將重點關注:

  • ??修復社區報告的錯誤(在測試時也可以積極反饋bug)

  • ??提供盡可能多的幫助文檔

  • ??在演示示例中添加新的自定義頁面

OpenIddict 模塊和 Keyclock 集成

此前官方已經宣布更換?IdentityServer的計劃。ABP 目前使用 IdentityServer4 將 OAuth 功能添加為服務器端的內置功能。但是,由于 IdentityServer4 的支持在 2022 年底結束。新的替代版本是 Duende IdentityServer,不再是免費軟件。(看更多)

因此,官方決定從 ABP 平臺完全刪除 IdentityServer4,并集成 OpenIddict 到啟動模板中。

目前已經實現了 OpenIddict 模塊,官方計劃在 ABP v6.0 啟動模板項目中刪除 Identity Server 并將其替換為 OpenIddict 。

目前官方正在為 OpenIddict 模塊創建文檔,如果您想了解有關此模塊的基礎知識,可以從此處查看文檔。目前,這是一個草稿文檔,但提供了有關 OpenIddict 模塊的整體知識,官方將在 ABP v6.0 中完成此文檔,到時將能夠完整地閱讀它。

目前,官方還在研究 OpenIddict 和 Keycloak 并行集成的可能性,并且準備了一些示例,可以查看#154?和#158。

Keycloak?是為現代應用和服務提供了開源IAM(Identity and Access Management)解決方案。Java開發,貌似國內用的不多,集成意義不大。IdentityServer 4 一直是 .NET Core 平臺上的首選,在 2020 年成立公司, IdentityServer 5 就開始收費了。ABP Framework 迫不得已選擇新的替代方案。ASP.NET Core Team 明確表示他們不會投入任何資源去研發類似 IdentityServer 的東西, 從 ASP.NET Core 5.0 開始, SPA項目模板是默認依賴 IdentityServer 4 ,6.0 也會依賴, 7.0 會有替代。

部署文檔

部署基于 ABP 的應用程序與部署任何 .NET 或 ASP.NET Core 應用程序沒有太大區別。您可以將其部署到云提供商(例如 Azure、AWS、Google Can)或本地服務器、IIS 或任何其他 Web 服務器。官方準備了一份“部署指南”來提示要點和注意事項。

在?Deploying to a Clustered Environment文檔中,記錄了在將應用程序開發到集群環境時應考慮的要點,并解釋了如何在基于 ABP 的應用程序中處理。

其他

  • ??全局特性以前只能通過 C# 代碼訪問。從這個版本開始,全局特性可以從應用程序配置中提供。參見#12043。

  • ??從第三方登錄可以獲取用戶的詳細信息,如:姓名、姓氏和電話號碼等。請參閱#12085。

  • ??Angular 日期管道,datePipe函數,直接給日期格式化。請參閱#11909。

下一個版本

下一個大版本將是?6.0?,計劃在7月12日發布?6.0 RC(候選版),并在2022年8月16日發布最終版本。

dotNET兄弟會-公眾號

專注.Net開源技術及跨平臺開發!致力于構建完善的.Net開放技術文庫!為.Net愛好者提供學習交流家園!

17611356286770dcda68960fef9f0b1a.png

歷史更新版本說明

  • ??ABP Framework 5.2 RC 新增功能

  • ??ABP Framework 5.0 RC.1 新特性和變更說明

  • ??ABP Framework V4.4 RC 新增功能介紹

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

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

相關文章

智能合約開發——TypeScript 基礎(全)

TS 準備 首先我們準備一個目錄,使用 dos 進入到某目錄,當然你直接 vs 打開終端執行也是沒有問題的: 執行以下命令安裝 typescrip(不用進入目錄,直接安裝即可): npm install -g typescript我是…

查看MySQL的當前日期

select current_date(); 查看MySQL的當前日期轉載于:https://www.cnblogs.com/dengyg200891/p/5972698.html

【ArcGIS風暴】ArcGIS支持的柵格數據格式大全及格式轉換案例精解

ArcGIS功能異常強大,支持多種常見的柵格數據格式,并可實現多個柵格格式的自由轉換。 在ArcGIS中,常見的柵格數據格式有:TIFF、BMP、ENVI、Esri BIL、Esri BIP、Esri BSQ、GIF、GRID、IMAGINE Image、JP2、JPG、和PNG。 BIL —Esri 波段按行交叉格式文件BIP —Esri 波段按像…

Android之靠譜的獲取本地相冊圖片

1、需要申請手機讀寫的權限 AndroidMani.xml里面配置權限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 我們一般采用RxPe…

利用Signalr實現手機端App掃碼登錄web頁面

實現原理&#xff1a; 1、web登錄頁面&#xff0c;利用jquery.qrcode展示一個隨機生成的登錄碼的二維碼&#xff1b; 2、手機App掃描二維碼取得登錄碼&#xff1b; 3、手機App將本地用戶id登錄碼通過api提交服務器&#xff1b; 4、服務器api&#xff0c;收到手機App請求&am…

【ArcGIS風暴】ArcGIS柵格影像(NDVI)歸一化處理的兩種方法精解

【ArcGIS遇上Python】ArcGIS批量處理柵格影像(NDVI)歸一化完整案例代碼 圖像歸一化是指對圖像進行了一系列標準的處理變換,使之變換為一固定標準形式的過程,該標準圖像稱作歸一化圖像。 原始圖像在經歷一些處理或攻擊后可以得到多種副本圖像,這些圖像在經過相同參數的圖像…

[從C到C++] 1.3 C++布爾類型(bool)

布爾類型(bool)是C新增的一種基本數據類型。在標準的C語言中并未定義bool類型&#xff0c;如果需要使用bool類型&#xff0c;程序員可以通過宏定義來自定義一個bool類型&#xff0c;定義語句如下&#xff1a; #define bool int #define false 0 #define true 1 也就是將int型定…

以小見大:一個領域建模的簡單示例,理解“領域驅動”。

背景&#xff1a;航空公司為了確保飛行路線不發生沖突&#xff0c;需要開發一款飛行路線管理軟件。過程&#xff1a;我們先去找這個領域的專家&#xff0c;自然是作為平時管理和維護機場飛行秩序的工作人員&#xff1b;我們第一個目標就是與他們溝通&#xff0c;也許我們并不能…

hibernate -- hello world

http://developer.51cto.com/art/201202/315931_all.htm轉載于:https://www.cnblogs.com/iOS-mt/p/5973646.html

Android之底部Dialog里面放EditText點擊布局頂上去效果

1、需求 在底部Dialog里面放EditText點擊,布局需要頂上去,不頂上去很煩。 2、Dialog里面關鍵樣式屬性 <item name="android:windowFullscreen">false</item> 3、布局代碼簡單試下 樣式 <style name="DialogTheme" tools:ignore="…

SignalR ——Android實踐

SignalR 的版本&#xff1a;aspnetcore-2.2, Java SignalR-1.0.0 一、先說幾個點 1、我使用SignalR的時候服務器使用的是自簽名的HTTPS證書&#xff0c;所以OkHttp是無法直接解析的&#xff0c;會報錯。需要修改SignalR里面OkHttp部分的源碼&#xff0c;讓其信任所有的HTTPS連…

【ArcGIS遇上Python】ArcGIS批量處理柵格影像(NDVI)歸一化完整案例代碼

文章《ArcGIS柵格影像(NDVI)歸一化處理的兩種方法精解》詳細介紹了ArcGIS中進行NDVI影像歸一化處理的兩種方法,但是無法批量進行,本文就放大招用Python實現批量NDVI歸一化處理,大大提高了工作效率,還不趕快Get了? 完整Python代碼: import arcpy from arcpy import env…

Spark1.0.0 屬性配置

1&#xff1a;Spark1.0.0屬性配置方式Spark屬性提供了大部分應用程序的控制項&#xff0c;而且能夠單獨為每一個應用程序進行配置。在Spark1.0.0提供了3種方式的屬性配置&#xff1a;SparkConf方式 SparkConf方式能夠直接將屬性值傳遞到SparkContext&#xff1b;SparkConf能夠對…

Lync Server 2010遷移至Lync Server 2013部署系列 Part1: 擴展AD架構

由于最近直在忙Lync 升級&#xff0c;好久沒有更新博客了&#xff0c;今天開始將對最近做的Lync Server 2010遷移至Lync Server 2013項目做一個系列的部署操作更新&#xff0c;希望能給即將在企業中部署的兄弟們有所幫助&#xff0c;在這個測試環境中&#xff0c;企業 前端池共…

Android之BaseRecyclerViewAdpater(3.0.4版本)當頁面第二次滑到底部的時候沒有觸發OnLoadMoreListener監聽的onLoadMore函數

1 、問題 BaseRecyclerViewAdpater(3.0.4版本)當頁面第二次滑到底部的時候沒有觸發OnLoadMoreListener監聽的onLoadMore函數,也就是梅如下監聽的地方 adapter?.loadMoreModule?.setOnLoadMoreListener(object : OnLoadMoreListener {override fun onLoadMore() {Log.d(TAG,…

Hello Playwright:(7)模擬鍵盤和鼠標

盡管在上一節中&#xff0c;我們已經能夠通過FillAsync或ClickAsync來實現輸入和點擊元素。但是&#xff0c;還有其他場景&#xff0c;我們必須模擬用戶使用鍵盤、鼠標與頁面交互。例如在線文檔&#xff1a;Page.Keyboard 對象Keyboard提供用于管理虛擬鍵盤的 API&#xff0c;它…

精通Hibernate:通過Hibernate操縱對象

http://developer.51cto.com/art/201202/315954.htm轉載于:https://www.cnblogs.com/iOS-mt/p/5973683.html

【ArcGIS遇上Python】Python批量將多個文件夾下的多個影像數據鑲嵌至新柵格

ArcGIS雖然可以實現一次多個影像同時參與,拼接成一個整的影像,但是通常情況下,多個影像并不在同一個文件夾下,這樣拼接的時候需要逐個手動進行添加,如果數據量大的話,跟不就不可取,針對這一問題,本文采用Python,實現將多個文件夾下的多個影像拼接,高效快速。 我們以…

2019全球開發者調查:僅2%的人996,Python并不是最受喜愛的語言

導讀&#xff1a;開發者社區正在發生哪些變化&#xff1f;Stack Overflow 的最新調查獲得了一些預料之外的結果&#xff1a;Java 語言開發者的平均收入不到 35 萬元人民幣&#xff0c;成為了收入最低的群體&#xff1b;另一方面&#xff0c;人工智能領域流行的 Python 并不是最…

Java 編寫程序 創建一個游戲【5、6兩章的內容】【第5章】

每次使用單邊大腦的時間不要太久&#xff0c; 連續使用左邊腦30 分鐘如同使用左臂 30 分鐘一樣&#xff0c; 周期性性地交換讓大腦兩側輪流休息。 左腦活動包括了循序漸進的工作&#xff0c;解決邏輯問題與分析&#xff1b; 右腦的活動包括了陰雨、創造性思考、模式匹配與可視化…