前言

DotNetGuide技术社区微信交流群经常看到有小伙伴问:.NET除了能写桌面应用和Web应用还能做什么?今天大姚将通过本篇文章来简单讲讲.NET能做哪些开发,对.NET感兴趣的小伙伴也可以自行领取文末附带的.NET相关学习资料。

.NET简单介绍

.NET是一个开源(MIT License)、免费、跨平台的开发平台框架,用于生成多种类型的应用程序。.NET 可以运行使用多种语言(C#、Visual Basic、F#)编写的程序,其中C#是最常用的语言。

.NET具有哪些设计亮点?

  • 全栈开发支持:提供了丰富的运行时、库、语言和工具,促进了全栈开发,从而改善了开发人员的用户体验。
  • 安全代码优先:将安全代码作为主要的计算模型,确保代码的安全性,同时允许通过手动优化实现不安全代码。
  • 静态和动态代码支持:支持静态和动态代码,使得.NET适用于各种不同的场景和需求。
  • 本机代码互操作和硬件内部函数优化:本机代码互操作和硬件内部函数成本低且保真度高(原始 API 和指令访问)。
  • 跨平台移植性和优化:具备跨平台移植性,可以在不同的操作系统和芯片架构上移植,同时平台目标的专业化和优化也得到了支持。
  • 通用编程模型:采用通用编程模型的专用实现,实现了跨编程领域的适应性,涵盖了云、客户端、游戏等多个领域。

.NET支持的应用程序类型

详细阅读.NET官方文档:https://dotnet.microsoft.com/zh-cn/

.NET框架支持广泛的应用程序类型,包括桌面应用程序、Web应用程序、移动应用程序、云服务、游戏开发、物联网应用程序以及大数据和人工智能应用程序。

Web 应用

ASP.NET Core 是适用于 .NET 的新式高性能 Web 开发框架,在 Windows, Linux, macOS, and Docker 上运行。

移动应用

.NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用。使用 .NET MAUI,可从单个共享代码库开发可在 Android、iOS、macOS 和 Windows 上运行的应用。

桌面应用程序

  • .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 版本上以一致的方式使用。

微服务应用

云服务

.NET Aspire:构建可观测、生产就绪、分布式应用程序的云原生框架。

机器学习

  • .NET SDK 与 Azure OpenAI 服务配合使用,让应用程序使用自然语言与用户进行对话。
  • 借助.NET,可以开发自定义机器学习模型并将其集成到.NET应用程序中,而无需任何前期机器学习经验。
  • 开源了面向 .NET 开发人员的 ML.NET (免费的开放源代码跨平台机器学习框架)。

ML.NET:https://github.com/dotnet/machinelearning。

游戏开发

Unity 是一款流行的跨平台游戏引擎,它使用 C# 作为主要的编程语言,并且可以与 .NET 技术集成,使开发者能够构建各种类型的游戏,包括 2D 和 3D 游戏。

物联网(IoT)

使用在 Raspberry Pi、HummingBoard、BeagleBoard、Spring A64 等上运行的 C# 和 .NET 生成 IoT 应用。

利用开源库和框架与专用硬件(如传感器、模拟到数字转换器、LCD 设备)交互。

.NET相关学习资料

参考文章

一文带你了解.NET能做什么?的更多相关文章

  1. Istio是啥?一文带你彻底了解!

    原标题:Istio是啥?一文带你彻底了解! " 如果你比较关注新兴技术的话,那么很可能在不同的地方听说过 Istio,并且知道它和 Service Mesh 有着牵扯. 这篇文章可以作为了解 ...

  2. 一文带您了解5G的价值与应用

    一文带您了解5G的价值与应用 5G最有趣的一点是:大多数产品都是先有明确应用场景而后千呼万唤始出来.而5G则不同,即将到来的5G不仅再一次印证了科学技术是第一生产力还给不少用户带来了迷茫——我们为什么 ...

  3. 一文带你了解elasticsearch

    一文带你了解elasticsearch cxf2102100人评论160人阅读2019-07-02 21:31:36   elasticsearch es基本概念 es术语介绍 文档Document ...

  4. 【转帖】Istio是啥?一文带你彻底了解!

    Istio是啥?一文带你彻底了解! http://www.sohu.com/a/270131876_463994 原始位置来源: https://cizixs.com 如果你比较关注新兴技术的话,那么 ...

  5. 一文带你了解 C# DLR 的世界

    一文带你了解 C# DLR 的世界 在很久之前,我写了一片文章dynamic结合匿名类型 匿名对象传参,里面我以为DLR内部是用反射实现的.因为那时候是心中想当然的认为只有反射能够在运行时解析对象的成 ...

  6. 一文带你看清HTTP所有概念(转)

    一文带你看清HTTP所有概念   上一篇文章我们大致讲解了一下 HTTP 的基本特征和使用,大家反响很不错,那么本篇文章我们就来深究一下 HTTP 的特性.我们接着上篇文章没有说完的 HTTP 标头继 ...

  7. 【项目实践】一文带你搞定Spring Security + JWT

    以项目驱动学习,以实践检验真知 前言 关于认证和授权,R之前已经写了两篇文章: [项目实践]在用安全框架前,我想先让你手撸一个登陆认证 [项目实践]一文带你搞定页面权限.按钮权限以及数据权限 在这两篇 ...

  8. 一文带你看遍 JDK9~14 的重要新特性!

    Java9 发布于 2017 年 9 月 21 日 .作为 Java8 之后 3 年半才发布的新版本,Java 9 带 来了很多重大的变化其中最重要的改动是 Java 平台模块系统的引入,其他还有诸如 ...

  9. 一文带你读懂什么是vxlan网络

    一个执着于技术的公众号 一.背景 随着云计算.虚拟化相关技术的发展,传统网络无法满足大规模.灵活性要求高的云数据中心的要求,于是便有了overlay网络的概念.overlay网络中被广泛应用的就是vx ...

  10. 一文带你读懂zookeeper在大数据生态的应用

    一个执着于技术的公众号 一.简述 在一群动物掌管的世界中,动物没有人类聪明的思想,为了保持动物世界的生态平衡,这时,动物管理员-zookeeper诞生了. 打开Apache zookeeper的官网, ...

随机推荐

  1. Python设计模式----4.构建者模式

    构建者模式: 将一个复杂对象的构造与表现进行分离,利用多个步骤进行创建,同一个构建过程可用于创建多个不同的表现 构建者模式一般由 Director(指挥官)和 Builder(建设者)构成 class ...

  2. Mybatis实现增删改查

    ​1.CRUD 1.1namespace namespace中的包名必须和Dao/mapper接口包名一致 1.2select 选择,查询语句 id:就是对应的namespace中的方法名 resul ...

  3. 构建动态交互式H5导航栏:滑动高亮、吸顶和锚点导航技巧详解

    功能描述 产品要求在h5页面实现集锚点.吸顶及滑动高亮为一体的功能,如下图展示的一样.当页面滑动时,内容区域对应的选项卡高亮.当点击选项卡时,内容区域自动滑动到选项卡正下方. 布局设计 css 布局 ...

  4. 重新点亮shell————函数[七]

    前言 简单整理一下函数. 正文 自定义函数: function fname(){ 命令 } 函数的执行: fname 函数作用范围的变量: local 变量名 函数的参数 $1 $2 $3 .... ...

  5. Effective Python:第2条 遵循PEP 8风格指南

    PEP8文档:https://peps.python.org/pep-0008/ 与空白有关的建议: 用空格(space)表示缩进,而不要用制表符(tab). 和语法相关的每一层缩进都用4个空格表示. ...

  6. vue登录3D效果

    实现的效果 登录动态效果很炫酷,话不多说直接上代码: 组件template <template> <div class="entrance"> <di ...

  7. json文件读取并转换成为字典python

    # JSON到字典转化 f2 = open('info.json', 'r') info_data = json.load(f2) print(info_data) # 显示数据类型 print(ty ...

  8. 力扣41(java)-缺失的第一个正数(困难)

    题目: 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数. 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案. 示例 1: 输入:nums = [1,2,0 ...

  9. [GPT] swoole的协程和golang的协程有什么区别,哪个更好

    Swoole 的协程和 Golang(Go 语言)的协程(Goroutine)在概念上都是为了实现轻量级的并发编程,但它们在具体实现.使用方式和性能特点上有所不同: 实现原理: Golang 协程(G ...

  10. [GPT] 同为 nodejs 库的 Puppeteer 和 cheerio 的区别是什么

    Puppeteer 和 cheerio 是两个完全不同的库,用途和功能也截然不同. Puppeteer 是一个 Node.js 库,它使用 Chrome 或 Chromium 浏览器作为渲染引擎,通过 ...