一文带你了解.NET 能做什么?
.NET 简单介绍
.NET 是一个开源(MIT License)、免费、跨平台的开发平台框架,用于生成多种类型的应用程序。.NET 可以运行使用多种语言(C#、Visual Basic、F#)编写的程序,其中 C#是最常用的语言。
.NET 具有哪些设计亮点?
全栈开发支持:提供了丰富的运行时、库、语言和工具,促进了全栈开发,从而改善了开发人员的用户体验。
安全代码优先:将安全代码作为主要的计算模型,确保代码的安全性,同时允许通过手动优化实现不安全代码。
静态和动态代码支持:支持静态和动态代码,使得.NET 适用于各种不同的场景和需求。
本机代码互操作和硬件内部函数优化:本机代码互操作和硬件内部函数成本低且保真度高(原始 API 和指令访问)。
跨平台移植性和优化:具备跨平台移植性,可以在不同的操作系统和芯片架构上移植,同时平台目标的专业化和优化也得到了支持。
通用编程模型:采用通用编程模型的专用实现,实现了跨编程领域的适应性,涵盖了云、客户端、游戏等多个领域。
.NET 支持的应用程序类型
详细阅读.NET 官方文档:https://dotnet.microsoft.com/zh-cn/
.NET 框架支持广泛的应用程序类型,包括桌面应用程序、Web 应用程序、移动应用程序、云服务、游戏开发、物联网应用程序以及大数据和人工智能应用程序。
![](https://static001.geekbang.org/infoq/54/54fa82f2f6e40b65d800954520cb505b.png)
Web 应用
ASP.NET Core 是适用于 .NET 的新式高性能 Web 开发框架,在 Windows, Linux, macOS, and Docker 上运行。
![](https://static001.geekbang.org/infoq/f7/f79260e6f7741e70dad8e05ffe6f968f.png)
移动应用
.NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用。使用 .NET MAUI,可从单个共享代码库开发可在 Android、iOS、macOS 和 Windows 上运行的应用。
![](https://static001.geekbang.org/infoq/58/58836e57de3e81033ec92bacdb48c64e.png)
桌面应用程序
.NET MAUI:.NET Multi-Platform App UI (.NET MAUI)是一个框架,用于在单个代码库中使用 C# 和 XAML 构建新式、多平台、本机编译的 macOS 和 Windows 桌面应用以及 Android 和 iOS 移动应用。
Blazor 混合:Blazor 允许使用 C# 而非 JavaScript 生成交互式 Web UI。Blazor 应用由可重复使用的 Web UI 组件组成,使用 C#、HTML、CSS 实现。
WinUI 和 WinAppSDK:Windows UI 库(WinUI)是用于 Windows 桌面应用的 UI 框架,其中包括对 C# 和 .NET 的支持。WinUI 可作为 Windows 应用 SDK 的一部分使用。Windows 应用 SDK 提供了一组统一的 API 和工具,可在一组广泛的目标 Windows OS 版本上以一致的方式使用。
![](https://static001.geekbang.org/infoq/79/79949bbc05b39c6f0868a01ff9f16875.png)
微服务应用
![](https://static001.geekbang.org/infoq/7c/7cae749721c90a567dd35ab99a0ed77a.png)
云服务
.NET Aspire:构建可观测、生产就绪、分布式应用程序的云原生框架。
![](https://static001.geekbang.org/infoq/6c/6c1f8e3e2eda7eaa828286a87c6457c2.png)
![](https://static001.geekbang.org/infoq/fd/fd0f663b22a74b77b714d69f08b4bc52.png)
机器学习
.NET SDK 与 Azure OpenAI 服务配合使用,让应用程序使用自然语言与用户进行对话。
借助.NET,可以开发自定义机器学习模型并将其集成到.NET 应用程序中,而无需任何前期机器学习经验。
开源了面向 .NET 开发人员的 ML.NET (免费的开放源代码跨平台机器学习框架)。
ML.NET:https://github.com/dotnet/machinelearning。
游戏开发
Unity 是一款流行的跨平台游戏引擎,它使用 C# 作为主要的编程语言,并且可以与 .NET 技术集成,使开发者能够构建各种类型的游戏,包括 2D 和 3D 游戏。
![](https://static001.geekbang.org/infoq/ff/ff6f2c81ef5bc84025c5561158751a29.png)
物联网(IoT)
使用在 Raspberry Pi、HummingBoard、BeagleBoard、Spring A64 等上运行的 C# 和 .NET 生成 IoT 应用。
利用开源库和框架与专用硬件(如传感器、模拟到数字转换器、LCD 设备)交互。
![](https://static001.geekbang.org/infoq/62/620fb55d2717341a56af9822e6b8e95b.png)
文章转载自:追逐时光者
评论