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

新的启动模板可以在 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 中引入了 事务发件箱和收件箱模式 ,在 6.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爱好者提供学习交流家园!

历史更新版本说明

ABP Framework 5.3.0 版本新增功能和变更说明的更多相关文章

  1. [翻译] ASP.NET Core 3.0 的新增功能

    ASP.NET Core 3.0 的新增功能 全文翻译自微软官方文档英文版 What's new in ASP.NET Core 3.0 本文重点介绍了 ASP.NET Core 3.0 中最重要的更 ...

  2. C#各版本新增功能

    本系列文章主要整理并介绍 C# 各版本的新增功能. C# 8.0 C#8.0 于 2019年4月 随 .NET Framework 4.8 与 Visual Studio 2019 一同发布,但是当前 ...

  3. Entity Framework Core 2.1 Preview1 新增功能简介

    两个星期前,微软发布了EF Core 2.1 Preview 1,同时还发布了.NET Core 2.1 Preview 1和ASP.NET Core 2.1 Preview 1:EF Core 2. ...

  4. Excelize 发布 2.6.0 版本,功能强大的 Excel 文档基础库

    Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准.可以使用它来读取.写入由 Microsoft Exc ...

  5. RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.0 版本新增序列管理

    欲了解V3.0版本的相关内容可查看下面的链接地址. RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.0 版本发布 在V3.0版本的Web(Mvc.WebForm)与WinF ...

  6. Apache Flink 1.9.0版本新功能介绍

    摘要:Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时,提供支持流处理和批处理两种类型应用的功能.目前,Apache Flink 1.9 ...

  7. geotrellis使用(二十)geotrellis1.0版本新功能及变化介绍

    目录 前言 变化情况介绍 总结 一.前言        之前版本是0.9或者0.10.1.0.10.2,最近发现更新成为1.0.0-2077839.1.0应该也能称之为正式版了吧.发现其中有很多变化, ...

  8. 图文解说PhpStorm 7.0版本新增内置工具

    很多PHP开发者,都比较关心PhpStorm 7.0版本的内置工具.今天我们将测试内置的Vagrant工具和SSH远端控制台工具. Vagrant工具集成在PhpStorm 7.0版本中,提高了IDE ...

  9. 淘宝自动登录2.0,新增Cookies序列化

    前段时间时间为大家讲解了如何使用requests库模拟登录淘宝,而今天我们将对该功能进行丰富.所以我们把之前的那个版本定为1.0,而今天修改的版本定为2.0.版本的地跌意味着功能的升级,那今天的2.0 ...

随机推荐

  1. linux磁盘分区fdisk命令操作(实践)

    写这篇的目的,还是要把整个过程完整的记录下来,特别是小细节的地方,通常很多情况是一知半解,平时不实践操作只凭看是没有用的,所以做这个行业就是要多动手,多学习,多思考慢慢你的思路也会打开.练就自己的学习 ...

  2. GO语言学习——基本数据类型——整型、浮点型、复数、布尔值、fmt占位符

    基本数据类型 整型 整型分为以下两个大类: 按长度分为:int8.int16.int32.int64 对应的无符号整型:uint8.uint16.uint32.uint64 其中,uint8就是我们熟 ...

  3. TemplatesImpl利用链

    FastJson利用链 Fastjson的版本在1.2.22-1.2.24主要有两条链利用TemplatsImpl和JdbcRowSetImpl利用链先来学习TemplatsImpl利用链,这个与前面 ...

  4. 2021.08.03 P1197 星球大战(并查集)

    2021.08.03 P1197 星球大战(并查集) [P1197 JSOI2008]星球大战 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.可以离线处理.把在线变为离 ...

  5. node.js -- 身份认证

    请问昨天结束的早是对堆积在了今天吗,今天还来加个班更博,看在这个毅力的份上能否给亿点点推荐. 有个好消息有个坏消息,先说坏消息吧,就是在这么学下去我急需急支糖浆,来回顾回顾前面的知识,这几天学的太急了 ...

  6. Python连接数据库,列表输出数据库中的某一列

    1 import pymysql 2 import pandas as pd 3 import numpy as np 4 #连接数据库,地址,端口,用户名,密码,数据库名称,数据格式 5 conn ...

  7. Python多线程Threading爬取图片,保存本地,openpyxl批量插入图片到Excel表中

    之前用过openpyxl库保存数据到Excel文件写入不了,换用xlsxwriter 批量插入图片到Excel表中 1 import os 2 import requests 3 import re ...

  8. 二次封装这几个 element-ui 组件后,大大减少了我 CRUD 的时间

    element-ui 因其组件丰富.可拓展性强.文档详细等优点成为 Vue 最火的第三方 UI 框架.element-ui 其本身就针对后台系统设计了很多实用的组件,基本上满足了平时的开发需求. 既然 ...

  9. 详谈:pNFS增强文件系统架构

    点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 通过 NFS(由服务器.客户机软件和两者之间的协议组成) ...

  10. 一个程序的自我修养「GitHub 热点速览 v.22.19」

    一个程序要诞生涉及前后端技术,比如,你可以用可视化网页搭建工具 tmagic-editor 完成前端部分,而后端部分的数据库以及数据处理可能就要用到 jsonhero-web 和 directus.知 ...