对于大部分.NET 开发者来说, 都比较熟悉目前流行的ABP框架, 基于开源的ABP框架, 可以自己进行二次开发, 无需重新开发一些基础功能,
例如: 用户角色管理、权限、组织、多租户等等。
但是对于ABP框架来说, 提供给.NET开发者的可选项非常少, 目前也仅仅是提供了基于Web的解决方案, 对于桌面端以及移动设备上的解决方案, 可以说是"敷衍了事"。哪怕是商业版的ABP, 提供桌面端和移动端的解决方案仍然只是一个简陋的架子, 对于有这方面需求的开发者, 他们只能选择不同的解决方案。
目前大多数.NET开发者开发移动端项目多数是采用一些流行的Web解决方案, 例如: Uniapp、Electron、Flutter 等等。由于这类的产品本身与C#就无法兼容,例如共享现有的类库, 实体、服务等。这也无法体现如今 .NET 全部一把梭的理念。
考虑到目前存在许多的客户端领域开发者, 包括Xamarin.Forms开发者, 所以从2021年底开始, 我就计划着开始开发基于ABP框架的WPF实现以及Xamarin.Forms实现。这样, 通过利用现有的技术, 实现了全平台开发的理念, 其中WPF与Xamarin.Forms项目, 实现了与后端项目共享90%以上的类库代码, 包含: 模型类、常量、接口、服务等。截至目前为止, Xamarin.Forms与WPF还原了ABP框架 90%以上的业务功能, 包含所有的UI重新设计、业务功能实现、完整的MVVM设计。关于Xamarin.Forms框架的实现, 参考之前的文章: Xamarin.Forms 5.0 项目实战
本次的WPF ABP框架, 并非是通过ABP的技术手段实现了WPF项目的还原,而是基于ABP框架提供业务功能进行了完整还原, 在WPF项目当中, 移除了ABP提供的启动配置、模块系统、依赖注入及各类的反射加载、自动实体映射模等功能。
该项目则基于大部分WPF开发者熟悉的Prism MVVM框架进行重新开发, UI则使用Syncfusion WPF版本。
该套框架包含以下功能:
用户和角色管理
组织机构
权限管理
多租户
本地化多语言
身份认证及授权
审计日志记录
UI主题
异常处理
数据字典
系统设置
参与了上次的Xamarin.Forms公益活动的同学, 可以单独与本人取得联系, 可以免费获取 WPF版本完整的项目源代码, 针对Xamarin.Forms以及WPF的ABP框架, 会在后续持续进行优化, 且获得免费的技术相关咨询服务。关于上次的Xamarin.Forms公益活动产生的所有收益, 会在近期的捐赠活动进行公示。
针对未参与上次公益活动以及想要获取源代码或者进行商业性质的二次开发人员, WPF版本的ABP框架完整源代码费用:499元,可以单独与作者(QQ:779149549)取得联系获取。
本次WPF框架如收益超过3W的部分, 将同样以公益活动的形式进行捐赠, 关于未来的MAUI框架版本, 会在接下来进行移植工作。
WPF版本的项目持续优化的过程中, 同样会陆续制作相关教程发布在视频平台中, 大家可以持续关注。