ASP.NET Core是非常优秀的服务端框架,尽管国内应用的广泛性远不如Java,但在很多测评中,性能上已经可以碾压Java,更不论Node.js、Django、Laravel等。
Furion是建立在ASP.NET Core基础之上的服务端框架,在.NET圈内,还有久有胜名的ABP,新兴掘起的MASAStack。它们的定位,类似于Java圈中的Spring boot,或者Node.js圈中的Express、Nest.js等。它们为基础框架带来了以下几点变化:
- 对基础框架进行一定范围和程度的封装,比如对应用启动的封装和优化
- 融入了一些优秀的第三方库,比如实体映射的Mappers/AutoMapper
- 提供的项目组织的最佳实践,比如以DDD的方式来组织多层项目
- 总体目标,都是为了使框架更易用、更全面,当然,在性能上都会有少少牺牲。
Furion和MASA都是国内的优秀框架,Furion已经迭代到4版本,比较成熟,已经用于非常多的生产项目,特别适合用于搭建单体项目。而MASA则是后起之秀,2022年底才会正式推出1.0版,它天生支持分布式和微服务,集成了Dapr,功能也更加全面,比如有自己的Blazor组件库,有全面的Auth权限管理框架,未来甚至还有工作流,非常看好它。但是,本系列主要还是介绍和学习AspNetCore和Furion。从AspNetCore直接过渡到MASA或者ABP,跨越性是比较高的,而没有DDD和分布式的Furion,反而有利于比较学习框架最基础的知识,通过对比学习,一方面打牢知识基础,另一方面也可以学习一些优秀的框架思想。
本系列将遵从简明扼要的原则,以图形化的形式,以尽可能少的代码,对框架的知识点进行梳理,不全面,但有脉络,适合有一定的框架基础后,进行快速的复习和记忆。如果还没有接触过AspNetCore,推荐阅读:杨中科的《ASP.NET Core 技术内幕与项目实战》及B站视频,梁桐铭的《深入浅出ASP.NET Core》及B站视频,Furion的官方文档。
本系列文章的目录如下(渐进式补充):
- 应用启动
- 依赖注入
- 配置选项
- 日志记录