3

ABP Framework 5.3.0 版本新增功能和变更说明

 1 year ago
source link: https://www.cnblogs.com/YGYH/p/16388231.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

ABP Framework 5.3.0 版本新增功能和变更说明

a0702abb5df1b850c6583a047906dea0.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 模板生成新项目。

5b994aa1669cb6cea61a3a03bfae47a3.png

新的启动模板可以在 templates/app-nolayers 目录中查看,该模板在之前的版本中已经发布,只是在此版本中,可以在“开始”页面中增加了该模板选项。

同样的,我们还可以通过 ABP CLI 来创建单层项目

abp new -t Acme.BookStore app-nolayers

启动模板提供 PWA 支持

ABP v5.3 应用程序启动模板现在支持 Blazor WASMAngular UI PWA。 要创建支持 PWA 的启动模板,可以使用 --pwa 参数。

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

什么是PWA?
PWA(Progressive Web Apps,渐进式 Web 应用),该技术的出现是通过各种 Web 技术实现与原生 App 相近的用户体验。
扩展阅读:

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.11.0.0-beta.2 版本。

Lepton X Lite 文档已针对三种 UI 类型(MVC/Razor Pages、Blazor、Angular)分别编写。

可以参考帮助文档尝试新的 LeptonX Lite 主题:

目前启动模板中的默认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爱好者提供学习交流家园!

image

历史更新版本说明


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK