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.mzph.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; 右脑的活动包括了阴雨、创造性思考、模式匹配与可视化…