[译]ABP框架v2.0 和 ABP商业版

ABP框架v2.0 和 ABP商业版

ABP框架2.0版已经在本周公布.这篇文章解释了为什么我们发布了一个抢先主版本,和2.0版本中的变化.

除了v2.0版本,我们很高兴地宣布ABP商业版,这是建立在开源ABP框架的之上的一套专业的模块,工具,主题和服务.

ABP框架V2.0

为什么2.0,而不是1.2?

本来在V1.1.2发布后计划发布1.2版.然而,有报告称1.x版在Linux上有一些性能稳定性问题,尤其是当应用程序部署在低配CPU和内存Linux容器上.

我们深入研究了这一问题,并已查明问题的根本原因与拦截async方法的实现有关.此外,也有一些 asyncsync 的用法影响了线程池的优化.

最后,在社区在大力协助下我们解决了所有的问题.但是,我们也有一些重要的设计决策导致了一些破坏性变更,因为语义版本,我们不得不改变框架的主版号.

大多数的应用程序不会受到破坏性变更的影响,或者只需要做一些微小的修改.

破坏性变更

删除了一些同步的API

一些拦截器需要使用async的API.当他们拦截sync方法时,他们需要调用asyncsync.这最终导致了asyncsync的问题.这就是为什么我们删除了一些同步的API.

当你需要async方法中调用sync方法时, asyncsync 这种模式是C#一个经典问题.虽然有一些解决方法,但是都有相应的缺点,并建议不要写这样的代码.你可以在网上找到关于这一话题的许多文档.

为了避免这个问题,我们已经移除:

如果你遇到了编译错误,只需使用这些API的async版本.

始终async!

从v2.0开始,ABP框架假设你以async方式编写你的应用程序代码.否则,一些框架的功能可能无法正常工作.

建议你的所有应用服务, 仓储方法, 控制器动作(ontroller actions), 页面处理器(page handlers)都是async.

即使你的应用服务方法并不需要是async,也将其设置为async,因为拦截器需要执行async操作(授权,工作单元等).你可以在不调用async的方法中返回Task.Completed.

示例:

public Task<int> GetValueAsync()
{
    //这个方法没有任何async调用
    return Task.CompletedTask(42);
}

上述例子通常并不需要是async因为它不执行async调用.然而,将它设置为async,这样可以帮助ABP框架运行拦截器时避免出现async套sync的调用.

此规则不强制你写的每一个方法都是async.这样并不好而且很乏味.只在拦截的服务上需要(特别是应用服务仓库方法)

其他破坏性变更

查看发行说明中的破坏性变更.他们中的大多数都不会影响你的应用程序代码.

新功能

本次发布还包含一些新的功能和一堆改进:

  • #2597 新的Volo.Abp.AspNetCore.Serilog包.
  • #2526 C#客户端代理的客户端验证.
  • #2374 async后台作业.
  • #265 管理应用程序关闭.
  • #2472 IdentityServer模块实现DeviceFlowCodesTokenCleanupService.

功能,改进和BUG修复的完整列表, 请查看发布说明.

文档

随着v2.0的发布,我们也完成了一些缺少的文档.在接下来的几周内,我们将主要关注文档和教程.

ABP商业版

ABP商业版是建立在开源ABP框架之上的一套专业的模块,工具,主题和服务.

  • 除了ABP框架免费和开源模块之外, 提供专业模块.
  • 包含一个漂亮的UI主题, 具有5种不同的样式.
  • 提供ABP套件; 一个让开发更具有生产力的工具. 通过配置实体属性, 它可以在几秒内创建全栈的CRUD页面. 更多的功能陆续开发中.
  • 为企业提供高级支持.

除了这些标准的功能,我们会将提供定制服务.更多细节请参见commercial.abp.io网站.

ABP框架 vs ABP商业版

ABP商业版不是付费版本的ABP框架.可以把它当作为专业公司提供的附加套餐.你可以用它来节省时间和更快地开发产品.

ABP框架将永远是开源免费的!

一个原则是,我们创建的主要基础设施作为开源产品, 然后销售额外的预制应用程序功能,主题和工具.类似于ASP.NET BoilerplateASP.NET Zero产品.

购买商业版许可极大地节省你的时间和精力,你可以专注于自己的业务,此外也可获得专门的和优先的支持.同时,你也在支持ABP核心团队,因为我们花了大部分时间来开发,维护和支持开源的ABP框架.

有了ABP商业版,ABP现在变为一个平台.我们称之为ABP.IO平台, 其中包括开源ABP框架和ABP商业版.

演示

如果你想知道ABP商业版应用程序的启动模板是什么样,你可以很容易地创建一个演示,并看到它的实际效果.该演示包括所有的预制模块和主题.

下面是一张IdentityServer管理模块UI的截图:

这是一张来自使用material设计风格主题的演示应用程序的截图:

价格

你可以创建无限个工程/产品, 销售给无限个客户, 部署在无限台服务器上, 不受任何限制. 定价主要是基于开发人员个数,支持等级源代码需求上.有三个标准包;

  • 团队许可: 包括所有的模块,主题和工具.允许最多3个开发者开发产品.可购买额外的开发者许可.
  • 商业许可: 允许下载所有的模块和主题的源代码.此外,默认包含了5个开发者许可.可购买额外的开发者许可.
  • 企业许可: 在商业许可上, 提供无限的专属支持.

请查看价格页面了解详细信息.除了标准包以外,我们也提供定制服务和定制许可.如有任何问题,请联系我们.

许可比较

许可价格是根据开发者数量,支持等级和源代码访问而变化的.

源代码

团队许可证不包括预制模块和主题的源代码.以NuGet和NPM包的方式使用所有这些模块.通过这种方式,你可以很容易地通过更新包的依赖得到新功能和bug修复仅.但是不能访问其源代码.所以不能嵌入模块的源代码到你的应用程序里,和随意修改源代码.

预制模块提供一定等级的定制扩展,并允许你覆盖服务,UI部分等.我们正在努力使他们更加可定制和可扩展.如果你无需在预制模块中做很大修改的话,团队许可是你理想的选择,因为它更便宜,并且可轻松获得新的功能和bug修复.

商业和企业许可允许你在需要时下载任何模块和主题的源代码.它们使用与团队许可相同的启动模板,所以所有的模块都默认使用NuGetNPM包.但是,在需要的情况下,你可以从一个模块中删除包的依赖,并嵌入它的源代码到你自己的解决方案中,然后完全定制它.在这种情况下,当一个新版本可用时, 升级模块将不会那么容易.当然, 你不必升级!但是,如果你愿意,你也可以使用一些合并工具或Git的分支系统来做到这一点.

许可周期

ABP商业版许可是永久的,这意味着你可以永远使用它继续开发应用程序.

但是,下面的服务周期为一年:

  • 高级支持一年后结束.你可以继续得到社区支持.
  • 一年后将不会得到模块和主题的更新.你可以继续使用最后获得的版本.甚至可以在主版本内得到BUG修复和改进.
  • 你可使用ABP套件一年.

如果想继续获得这些好处,可延长许可期限.续订价格比正常价格低20%.

NDC London 2020

去年一样, 我们是著名的软件开发会议NDC London的合作伙伴! 去年, 我们开展了ASP.NET BoilerplateASP.NET Zero主题:

今年,我们将着重于ABP.IO平台(开源ABP框架和ABP商业版).我们的展位会是这样的:

如果你参加会议,记得要参观我们的展位.我们将很高兴来谈一谈ABP平台的功能,目标和软件开发.

你想见ABP团队吗?

如果你在伦敦, 而且想和我们喝杯咖啡的话, 在2月1日的下午@hibrahimkalkan@ismcagdas会在那.

想见面就给[email protected]写个邮件 :)

原文地址:https://www.cnblogs.com/waku/p/12203210.html

时间: 2024-10-29 00:57:37

[译]ABP框架v2.0 和 ABP商业版的相关文章

C++ 对象间通信框架 V2.0 &#215;&#215;&#215;&#215;&#215;&#215;&#215; 之(四)

类定义:CMemberFuncPointer ======================================================================= 1 // MemberFuncPointer.h: interface for the CMemberFuncPointer class. 2 // 3 ////////////////////////////////////////////////////////////////////// 4 5 #if

PHP框架Yii2.0安装(基础版、高级版)

最近农成也是切入了yiiframework 2.0,就是安装yii2.0就花费了不少的时间,为此做了很多的弯路,特此写一篇博文来给后面学习的同学少走一点的弯路.写的不好的地方欢迎各位学习的同学们能够指点出来. yii2.0的安装,官方提供了两种的安装办法,一种是通过composer来安装,另外一种是通过跟yii1.0的办法直接下载安装包来安装.至于对于第一种composer的安装,农成就不做多余的说明了,这里有很好的安装教程.点击进去就可以看到了,为此农成就不在说了,下面就给大家详细讲讲第二种通

注册表对比工具(Regshot) V2.0.1 中文绿色版

软件名称: 注册表对比工具(Regshot)软件语言: 简体中文授权方式: 免费软件运行环境: Win7 / Vista / WinXP软件大小: 263KB图片预览: 软件简介:Regshot 是一个免费的注册表对比工具,这个软件可以扫描并保存注册表的“快照”,并对两次快照进行自动的对比,找出快照间存在的不同之处,结果可以保存成txt或者是html文档 对比注册表的方法:1.打开Regshot,勾选"扫描",点击“摄取[1]”,这样就能记录下当前注册表和文件夹的结构2.点击“摄取[2

Noizio for Mac(Mac音乐设置软件) v2.0.4汉化版

Noizio For Mac是Mac os平台上的一款帮助用户设置个性化声音的Mac软件,Noizio For Mac与大部分同类应用一样,内置了多款声音.你可以将咖啡馆.打雷.下雨.火堆.河水.刮风.白天.晚上按照自己的喜好组合播放.但App本身没有提供保存功能,在操作上稍有不便. 特征: ?包括40种迷人的环境声音: ?轻松选择和混合环境声音,使其完全适合您的心情: ?背景声音支持.在使用其他应用程序时聆听您的混音: ?Noizio应用程序可让您离线播放所有声音: ?高品质的自然声音,以设定

ABP进阶教程0 - 目录

ABP进阶教程 本教程主要讲解如何基于ABP实现条件查询/分页/排序/导出等功能. 源码已分享:   GitHub   Gitee ABP进阶教程0 - 目录 ABP进阶教程1 - 条件查询 ABP进阶教程2 - 分页 ABP进阶教程3 - 排序 ABP进阶教程4 - 导出 原文地址:https://www.cnblogs.com/IT-Evan/p/ABP16.html

[V2.0 alpha]又一款博客园Android客户端低调推出

[V2.0]自v1版发布已经有一个月了,赶在周末之前发个v2.0的公测包,欢迎园友下载使用. V2功能说明: 1.用户登陆: 2.文章/新闻评论: 2.用户关注/粉丝查看: 3.个人博客查看: 本来计划还有关注等功能,考虑到这版拖得有点久了,暂时把把其他功能往后延,希望在国庆前能先把登录相关处理好. 下载地址:http://files.cnblogs.com/avenwu/cnblogs-v2.0.0-alpha.apk 扫码: 下面放几张预览图: 在这一版中开发中遇到了一些技术点和困难: 1.

[译]基于ASP.NET Core 3.0的ABP v0.21已发布

基于ASP.NET Core 3.0的ABP v0.21已发布 在微软发布仅仅一个小时后, 基于ASP.NET Core 3.0的ABP v0.21也紧跟着发布了. v0.21没有新功能.它只是升级到稳定的ASP.NET Core 3.0. 查看v0.20发行说明以获取新功能,增强功能和错误修复. 关于v1.0 ABP框架越来越接近v1.0.我们打算在今年10月中旬发布1.0. 现在,我们将完善测试和文档. .NET Conf 2019 微软已经在为期3天的虚拟会议.NET Conf 2019发

2019 年起如何开始学习 ABP 框架系列文章-开篇有益

2019 年起如何开始学习 ABP 框架系列文章-开篇有益 [[TOC]] 本系列文章推荐阅读地址为:52ABP 开发文档 https://www.52abp.com/Wiki/52abp/latest/Welcome-to-52abp 本文的目的是为了让刚刚接触 ABP 框架的同学或者准备接触 ABP 框架的同学,能够理解和搞明白 ABP 框架到底是怎么回事,毕竟它发展了好几年的时间.社区中有很多人做 了 ABP 的资料和文章包括我自己也建立了 52ABP,社区中还有 ABPplus 等等的内

ABP框架详解(五)Navigation

ABP框架中的Navigation功能用于管理业务系统中所有可用的菜单导航控件,通常在业务系统的首页会有一个全局性的导航菜单,JD商城,天猫,猪八戒网莫不如是.所以为方便起见,Navigation功能默认定义了一个"MainMenu"菜单添加到缓存字典中.该Navigation功能与普通ERP项目中可定制动态生成的导航菜单最大的区别应该是每一个菜单定义(MenuItemDefinition)可以设置一个权限只有用户拥有权限才会显示给该用户,控制更加的细更加的松耦合不是直接绑定到某个用户