.NET Core(现称为 .NET 5+,包括 .NET 6、.NET 7、.NET 8 等)提供了多个内置框架和库,用于构建各种类型的应用程序。以下是 .NET Core/.NET 主要的内置框架和功能模块:
1. Web 开发框架
(1) ASP.NET Core
- 功能:用于构建高性能、跨平台的 Web 应用程序、API 和微服务。
- 子框架:
- MVC (Model-View-Controller):用于构建传统的 Web 应用程序。
- Razor Pages:轻量级页面开发模型,适合简单的 Web 应用。
- Web API:用于构建 RESTful 服务和 HTTP API。
- SignalR:实时双向通信框架(如聊天应用、实时通知)。
- gRPC:高性能 RPC 框架,支持 Protocol Buffers。
适用场景:
- 企业级 Web 应用
- 微服务架构
- 实时通信应用
2. 桌面应用框架
(1) Windows Forms (WinForms)
- 功能:传统的 Windows GUI 开发框架,基于事件驱动模型。
- 特点:
- 适合快速开发内部工具和简单桌面应用。
- 仅限 Windows 平台(但可通过 Wine 在 Linux/macOS 运行)。
(2) WPF (Windows Presentation Foundation)
- 功能:现代化的 Windows 桌面应用框架,支持数据绑定、动画和样式。
- 特点:
- 使用 XAML 定义 UI,支持 MVVM 模式。
- 适合复杂的企业级桌面应用。
(3) .NET MAUI (Multi-platform App UI)
- 功能:跨平台桌面和移动应用开发框架(替代 Xamarin.Forms)。
- 支持平台:
- Windows、macOS、Linux(预览)、Android、iOS。
- 特点:
- 使用 C# 和 XAML 构建原生 UI。
- 适合跨平台移动/桌面应用。
(4) Avalonia UI
- 功能:开源跨平台 UI 框架(类似 WPF)。
- 支持平台:Windows、macOS、Linux、Android、iOS。
- 特点:
- 不是微软官方维护,但社区活跃。
适用场景:
- 企业内部工具(WinForms)
- 现代化 Windows 应用(WPF)
- 跨平台桌面/移动应用(.NET MAUI)
3. 移动开发框架
(1) Xamarin (已整合到 .NET MAUI)
- 功能:使用 C# 开发 Android 和 iOS 原生应用。
- 特点:
- 共享业务逻辑代码,减少重复开发。
- 支持原生 UI 和性能优化。
(2) .NET MAUI
- 功能:微软官方推荐的跨平台移动开发框架(替代 Xamarin.Forms)。
- 支持平台:Android、iOS、Windows、macOS(预览)。
- 特点:
- 支持原生 UI 和跨平台共享代码。
适用场景:
- 跨平台移动应用(如电商 App、社交 App)
4. 云原生与微服务框架
(1) ASP.NET Core 微服务支持
- 功能:构建轻量级、可独立部署的微服务。
- 相关技术:
- gRPC:高性能 RPC 框架。
- RESTful API:基于 HTTP 的服务通信。
- 健康检查:内置
/health
端点监控服务状态。
(2) 容器化支持
- 功能:支持 Docker 容器化部署。
- 相关工具:
- Docker:打包和运行 .NET 应用。
- Kubernetes:编排和管理容器化微服务。
适用场景:
- 云原生应用
- 微服务架构
- Serverless 计算(如 AWS Lambda、Azure Functions)
5. 数据访问与存储框架
(1) Entity Framework Core (EF Core)
- 功能:ORM(对象关系映射)框架,用于数据库访问。
- 支持数据库:
- SQL Server、MySQL、PostgreSQL、SQLite、Oracle 等。
- 特点:
- 支持 LINQ 查询、迁移(Migrations)、代码优先(Code-First)开发。
(2) ADO.NET
- 功能:低级别的数据库访问 API。
- 特点:
- 直接执行 SQL 命令,适合高性能场景。
适用场景:
- 数据驱动的应用程序
- 企业级数据库系统
6. 云计算与 Azure 集成
(1) Azure SDK for .NET
- 功能:与微软 Azure 云服务集成的 SDK。
- 支持服务:
- Azure Storage(Blob、Queue、Table)
- Azure Functions(无服务器计算)
- Azure App Service(PaaS)
- Azure Cosmos DB(NoSQL 数据库)
(2) AWS 和 Google Cloud 支持
- 功能:通过第三方库(如 AWSSDK)集成 AWS 服务。
- 支持服务:
- AWS Lambda、S3、DynamoDB 等。
适用场景:
- 云原生应用
- 无服务器架构
- 企业级云服务集成
7. 游戏开发框架
(1) Unity 游戏引擎
- 功能:使用 C# 开发 2D/3D 游戏。
- 特点:
- Unity 默认支持 C# 作为脚本语言。
- 适合独立游戏和商业游戏开发。
(2) MonoGame
- 功能:跨平台游戏开发框架(类似 XNA)。
- 支持平台:Windows、macOS、Linux、Android、iOS。
适用场景:
- 独立游戏开发
- 跨平台游戏
8. 物联网 (IoT) 与嵌入式开发
(1) .NET IoT
- 功能:用于与传感器、设备交互的库。
- 支持硬件:
- Raspberry Pi、Arduino 等。
- 特点:
- 支持 GPIO、I2C、SPI 等硬件接口。
(2) .NET nanoFramework
- 功能:轻量级 .NET 运行时,适用于微控制器(如 STM32)。
- 特点:
- 适合资源受限的嵌入式设备。
适用场景:
- 智能家居设备
- 工业物联网
9. 数据科学与机器学习
(1) ML.NET
- 功能:微软的机器学习框架,支持 C# 开发。
- 支持算法:
- 分类、回归、聚类、推荐系统等。
- 特点:
- 无需 Python,直接在 .NET 中训练和部署模型。
(2) TensorFlow.NET
- 功能:C# 绑定 TensorFlow,支持深度学习。
- 特点:
- 适合高性能计算场景。
适用场景:
- 数据分析
- 预测模型
- AI 应用
10. 其他内置框架
(1) 测试框架
- xUnit:流行的单元测试框架。
- NUnit:功能丰富的测试框架。
- MSTest:微软官方测试框架。
(2) 日志与诊断
- Serilog:结构化日志框架。
- NLog:灵活的日志库。
- Microsoft.Extensions.Logging:内置日志系统。
(3) 依赖注入 (DI)
- Microsoft.Extensions.DependencyInjection:内置 DI 容器。
适用场景:
- 单元测试
- 应用监控
- 解耦代码
总结:.NET Core/.NET 主要内置框架
领域 | 框架/库 | 功能 |
---|---|---|
Web 开发 | ASP.NET Core | API、MVC、实时通信 |
桌面应用 | WinForms、WPF、.NET MAUI | Windows/macOS/Linux GUI |
移动开发 | .NET MAUI、Xamarin | Android/iOS App |
云原生 | ASP.NET Core、Azure SDK | 微服务、容器化 |
数据访问 | EF Core、ADO.NET | 数据库操作 |
游戏开发 | Unity、MonoGame | 2D/3D 游戏 |
物联网 | .NET IoT、nanoFramework | 传感器/嵌入式设备 |
AI/ML | ML.NET、TensorFlow.NET | 机器学习 |
.NET Core/.NET 提供了全面的框架支持,适用于从 Web 到桌面、移动、云、游戏和物联网的广泛场景。