咱光明正大地从 ABP 商业版中扒拉东西。所谓“白嫖”,不是“破解”,水文一篇,但也许会帮你打开一扇新的大门。
首先怎么个光明正大呢?准备工作:
- 在 abp.io 注册一个账号(网站和 ABP CLI 共用该账号)
- 通过邮箱验证
在购买商业版的页面中 Team 版下方有个 Free Trial(免费试用) 按钮,并不显眼,就是它了,点他!
提交申请之后,申请需要等待审核,我是在第二天收到许可激活邮件。
申请成功,可以获得 ABP 团队版14天使用权限。
试用许可激活后就可以通过 ABP CLI 登陆 abp login
,使用商业版高级功能 abp suite
。(和常规授权不一样,没有授权证书,激活后注册帐户立即生效。)
abp suite
提供的核心功能:
- 创建解决方案
- CURD 页面生成,简单功能直接生成代码,但是我没有生成成功过。
- 模块管理,添加模块真是方便。
帮助和引导页面做得不错,第一次用跟着引导页基本就能上手,abp suite
如何使用,按下不表。
直接整项目测试
安装:
dotnet tool update -g Volo.Abp.Cli
abp suite install
使用:
abp login <username>
abp suite update
接下来就是一波常规操作,创建启动模板,个人钟爱 分层(Tired) 架构,整个过程很丝滑,唯一需要注意的地方:
- 在创建解决方案时,就设置好要使用的数据库连接字符串,就不需要后面逐个项目手动修改,连接字符串会直接写到启动应用程序的配置文件中。
- 解决方案创建成功之后,会提示是否创建数据库和插入初始化数据,通常是需要的,这一步会自动完成数据迁移和数据播种,就不需要后面手动运行 DbMigrator 应用。
因为没有提前做好前面的设置,手动进行数据迁移时,在 macOS 下使用 VS Code 直接使用命令 dotnet run
第一次执行 DbMigrator 程序会报错。
需要先到 EntityFrameworkCore 项目下,手动执行数据迁移:
//导航到 EntityFrameworkCore 项目下
dotnet ef migrations add Initail -c ApplicationTemplateDbContext
-c
参数,指定数据上下文,因为该项目中已经包含多个 DbContext 。
然后再执行 DbMigrator 应用程序
dotnet run
[20:55:13 INF] Started database migrations...
[20:55:13 INF] Migrating schema for host database...
[20:55:22 INF] Executing host database seed...
依次启用 IdentityServer
HttpApi.Host
Web
项目,接下来就可以尽情玩耍了!
另外,在项目中还集成了商业版中提供的应用模块:
abp add-module Volo.Payment
abp add-module Volo.Chat
abp add-module Volo.FileManagement
abp add-module Volo.Forms
abp add-module Volo.Abp.Sms.Twilio
官方对应用模块的调教是非常稳定的,基本上只需要一行命令,就能无缝添加到解决方案中,数据迁移的步骤都省了。
打完收工,截图留念:
白嫖资源(重点)
尽管是团队试用版,在14天期限内容依然可以享受氪金待遇,白嫖的东西,整理了下其实还是不少,下面是列表:
- 解决方案启动模板源码可以参考,特别是微服务示例项目
- 分层架构项目
- 微服务示例项目(开源免费版不能创建)
- 数据库结构可参考,有了Pro版应用模块的数据库结构,实现Pro版的功能等于表设计已经提前做好了。
- 商业版项目示例(只有授权账号登陆状态可下载,传送门。)
- Book Store: Razor Pages (MVC) UI & Entity Framework Core
- Book Store: Blazor UI & Entity Framework Core
- Book Store: Angular UI & MongoDB
- Easy CRM
- 商业版应用模块本地运行演示
- 商业版帮助文档(不需要授权账号也能查看)
- IdentityServer Deployment IdentityServer 部署文档,对 ABP Framework 中分层架构单独部署 IdentityServer 依然有用,中间提到的配置,在前面准备 《ABP Framework 极速开发》教程时也碰到过。
- ABP Suite 工具是真的好用,免费版替代品 AbpHelper 。
获取应用模块源码就别想了,使用 abp get-source
会提示没有权限,请求被禁止,需要升级 License。
abp get-source Volo.Account.Pro
abp get-source Volo.FileManagement
官方对源码的保护机制有两重:
- 第一重是自建 Nuget 服务器对程序集 Nuget 包引用进行安全管理。每个授权用户都有一个专用的 Nuget 地址,格式:
https://nuget.abp.io/{API Key}
,没有授权,根本无法下载商业版 Nuget 包,使用abp suite
生成的解决方案启动模板包含 NuGet.Config 设置。 - 第二重是程序集混淆,就算拿到商业版应用程序程序集,也不能通过常规反编译的方式查看源码,在程序运行时每个核心模块都会检查 License 是否有效。
Volosoft 本身是一家技术公司,在开源和商业化之间平衡得很好,源码保护得也挺好,目前还没看到有破解或最新版商业版源码泄露。
如果公司实力允许建议购买商业授权,这个框架是真的好(Volosoft不用给我代言费)。
小结一下
关于购买商业版的建议
个人觉得,团队(Team)版对于开发者项目开发意义并不大,应用模块没有源码,只能使用现有功能,不能基于源码修改,开发灵活性受限,现有功能是固定的,并不适用直接用在企业级项目开发。所以有经费预算,至少购买商业(Business)版,包含: 所有模块源码 以及 所有主题源码。
小用怡情、大用伤身,掌握 ABP Framwork 才是王道!
Volosoft 对氪金用户是真爱,模块和工具同时给到位,不但提供商业版应用模块,业务功能帮你实现;还提供作弊工具 abp suite
搭建项目和增删改查功能开发,配置几下就搞定,可以留出更多时间摸鱼。讲究开发效率,来一套真的有必要!
最后,想告诫各位开发者:工具虽好用,不要“贪杯”,开发者过渡依赖工具,会丧失开发能力,得不偿失的。商业版提供的应用模块和工具,在我看来只是 ABP.IO 的附属产品,个人认为 ABP.IO 最有价值的部分是:框架基础设施部分,即 ABP Framework ,这是开源的,强烈建议开发者花时间深入分析掌握,形成了底层的开发能力,至于各式各样的应用模块,其实是手到擒来!
都阅读到这了,如果你觉得本文还不错,请点“推荐”,让更多人看到吧!
快速上手 ABP Framework,链接直达:ABP Framework 极速开发。
标签:abp,Volo,Commercial,ABP,商业版,模块,许可证,源码 From: https://www.cnblogs.com/YGYH/p/16640362.html