介绍

.NET 下有很多优秀的web开发框架,热度最高的应该还是ASP.NET Boilerplate - Web Application Framewor 因为ABP是一个通用的开发框架,可以用来开发各种场景的web应用程序,开发的精力只要放在业务上就可以了,而且前端的技术也是流行的框架,还有ABP的生态目前还是不错的,有公司在维护,还有很多开发者也在维护中,上面提到的ASP.NET Boilerplate 同时支持.NET Framework和.NET Core,目前已经非常的成熟了,应用在很多的公司的项目上,目前还一直在迭代和维护中,因为微软目前大力的推跨平台以及开源事业,所以目前.NET CORE 是核心力量,所有ABP也推出了下一代的ABP的框架,只支持ASP.NET CORE的框架,完全的跨平台运行,加上目前.NET CORE的迭代速度和性能优越,ABP FOR ASP.NET CORE 又将是一个火爆的开源项目了.

笔者虽然很长时间都投入在了大数据生态中,不过也还一直关注着.NET的发展和ABP的发展,今天看了下ABP已经1.0的版本出来了,到达了可以使用的程度了,所以今天来体验下.


ABP (源码) FOR ASP.NET CORE

版本:1.0.2

官网: ABP

ABP是用于创建现代Web应用程序的完整体系结构和强大的基础架构!遵循最佳实践和约定,为您提供SOLID开发经验

安装

本次体验环境

  • 操作系统 - macOS High Sierra 10.13.6
  • IDE - Rider 2019.2
  • ABP 1.0.2
  • .NET CORE SDK 3.0
  • PostgreSQL 12
  • Yarn v1.19+
  • Node v12+

安装 ABP CLI

ABP CLI是使用ABP框架启动新解决方案的最快方法。使用命令行窗口安装ABP CLI:

1
dotnet tool install -g Volo.Abp.Cli

创建 一个新的解决方案

1
abp new Kid.GitRMB 

您可以使用不同级别的名称空间。例如BookStore,Acme.BookStore或Acme.Retail.BookStore。*

new命令 使用Entity Framework Core作为数据库提供程序创建分层的MVC应用程序。但是,它还有其他选项。例子:

1
2
3
4
5
6
7
8
# Use MongoDB as the database provider
abp new Kid.GitRMB -d mongodb

# Create a solution based on the tiered architecture
abp new Kid.GitRMB --tiered

# Create a module template
abp new Kid.GitRMB.Payment -t module

更多的abp CLI介绍,请参阅CLI文档

使用yarn安装软件包

1
2
cd /Users/kid/Project/GitRMB/src/Kid.GitRMB.Web //这个是自己的项目路径
yarn 

引用包

因为笔者想使用PostgreSQL,所以需要引用一个包,如果使用默认的MSSQL跳过此步骤,如果是用MySQL,引用对应的包

并且在以下两处修改代码

修改数据库链接字符串

打开 12 处的配置文件, 图中 3 的字符修改成PostgreSQL的地址,这里默认是MSSQL的

开始创建数据库表和初始数据

  • 把图中1处appsetting.json文件拷贝到图中2处

  • 删除图中2处的文件夹 Migrations,因为默认的是MSSQL的配置类(如果使用默认MSSQL 跳过此步骤)

  • 安装dotnet ef 工具

    1
    
    dotnet tool install --global dotnet-ef
    
  • 用命令行cd 到图中2的文件目录中执行以下命令 (如果使用默认MSSQL 跳过此步骤)

    1
    
    dotnet ef migrations add InitialCreate
    

    用于创建PostgreSQl的配置类

  • 鼠标右键DbMigrator的项目, Run 执行,结束后去看下数据库表和数据是否已经存在了

运行.Web项目

因为是在macOS系统上,所以需要选择运行的项目

浏览页面

出现下图,说明已经成功了

默认账户和密码

​ admin

​ 1q2w3E*

总结

ABP FOR ASP.NET CORE 是一个非常高效和现代化的WEB开发框架,对于.NET程序员来说是一个不错的学习项目和工作利器.后面会持续不断的更新和体验这个版本的ABP.


推荐: 用Rider 在macOS 上开发.NET 感觉非常的爽,也就是使用Rider跨平台开发太爽了.