C#成为2023年年度编程语言之王

简介: C#成为2023年年度编程语言之王

云原生、容器技术发展带来整体后端工业化、生态的进步,我们也可以基于 k8s 本身服务构建分布式架构,共享所有语言的中间件。比如:你可以基于 Dapr 使用任何语言的任何中间件,C# 正好是 Dapr 支持的第一语言。

 

.NET 8 重塑了我们构建可按需扩展的智能、云原生应用程序和高流量服务的方式。无论我们是部署到 Linux 还是 Windows,使用容器还是我们选择的云应用程序模型,.NET 8 都可以让我们更轻松地构建这些应用程序。它包括一组经过验证的库,目前 Microsoft 的许多大规模服务都在使用这些库,可以帮助我们应对可观察性、弹性、可扩展性、可管理性等方面的基本挑战。

 

.NET 8 支持将 .NET 应用程序编译为本机代码,使用更少的内存并立即启动,无需等待 JIT(即时)编译器在运行时编译代码,也无需部署 JIT 编译器和 IL 代码。AOT 应用程序只部署应用程序所需的代码。我们的应用程序现在可以在无法使用 JIT 编译器的受限环境中运行。

 

  3.3 游戏

 

值得一提的是,C# 在游戏开发领域口碑也非常不错,具体主要在学习上手、招聘人才、编程规范、运行性能方面都表现十分平衡,没有明显缺陷。游戏开发人员使用 Unity 构建游戏,典型代表便是腾讯的国民游戏王者荣耀,它主要使用 Unity 打造,已经拥有超过上亿的活跃用户。C# 与 Unity 引擎无缝集成,此外,还有一些新兴的游戏引擎也采用了 C# 语言,例如开源 godot 引擎。

 

除游戏前端,C# 和 .NET 技术在游戏后端(游戏服务器)也获得了越来越广泛的应用,C# 的服务器可以无障碍在 Linux 上运行。

 

  3.4 全栈 Web

 

.NET 8 中的 Blazor 可以同时使用服务器和客户端来处理我们的所有 Web UI 需求。它通过专注于优化页面加载时间、可扩展性和提升用户体验的多项新增强功能,开发人员现在可以在同一应用程序中使用 Blazor Server 和 Blazor WebAssembly,在运行时自动将用户从服务器转移到客户端。两者对比之下,显然 .NET 代码在 WebAssembly 上的运行速度更快,这主要归功于新的基于“Jiterpreter”的运行时和新的内置组件。

 

总之,Blazor 填补了欠缺的一环,C# 开发人员可以直接在用户浏览器中共享代码和业务逻辑,对于 C# 开发人员来说,这无疑是一项十分强大的功能,有效提升我们的工作效率。

 

  3.5 桌面应用

 

其实,C# 在桌面开发框架上的应用也是一大亮点。在 .NET 平台上传统的 Windows 桌面开发框架WPF 和 Winforms 之外,还有很多跨平台的开源框架,比如 Avalonia UI、UNO Platform。 特别Avalonia UI 是一个基于 .NET  和 XAML 的偏桌面端的跨平台(WINDOWS、LINUX、MAC)UI 开发框架,不存在某个平台用 WINUI,某个平台用原生,导致不同平台渲染会出现差别的问题发生,所有平台都使用 SkiaSharp 来渲染。

 

特别是在国内,在 openKylin 社区成立了 Avalonia SIG,推进 Avalonia UI 对 openKylin 生态的支持,及 Avalonia UI 的相关生态建设。随着国内的 Linux 桌面向工业、医疗等传统行业渗透,Avalonia UI 在这个市场上有着充分的竞争力,有越来越多的用户从传统的 QT 转移到开源免费的 Avalonia UI。

 

除了 Avalonia UI 之外,还有 Blazor 在客户端应用上表现同样出色。从 .NET7 版本开始支持的 Blazor Hybird,使用 Blazor Hybrid 将桌面和移动本机客户端框架与 .NET 和 Blazor 结合使用。在 Blazor Hybrid 应用中,Razor 组件在设备上本机运行。组件通过本地互操作通道呈现到嵌入式 Web View 控件。组件不在浏览器中运行,并且不涉及 WebAssembly。Razor 组件可快速加载和执行代码,组件可通过 .NET 平台完全访问设备的本机功能。

 

  3.6 移动应用

 

.NET 多平台应用程序 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用程序, 使用 .NET MAUI,可以开发可在 Android、iOS、macOS 上运行的应用,Windows 以及从单个共享代码库运行的应用。.NET MAUI 包含 BlazorWebView 控件,该控件运行将 Razor 组件呈现到嵌入式 Web View 中。通过结合使用 .NET MAUI 和 Blazor,我们可以跨移动设备、桌面设备和 Web 重复使用一组 Web UI 组件。

 

  3.7 物联网 IoT

 

除桌面和移动应用外,C# 在物联网 IoT 的应用在当前也较为普遍。.NET 可在各种平台和体系结构上运行。它支持 Raspberry Pi 和 Hummingboard 等常见物联网 (IoT) 插件板。IoT 应用通常与专用的硬件(例如传感器、模数转换器和 LCD 设备)交互。

 

在网络化、标准化或网络安全方面,对工业网络的要求正以非凡的速度增长。在这些问题重重的领域,基于以太网的 OPC UA(Open Platform Communications – Unified Architecture,开放平台通信 - 统一架构)通信标准正在快速发展,OPC 基金会出品的 OPC UA 的标准库 UA-.NETStandard 就是使用 C# 实现,允许非会员使用 OPC UA 的试用规范、原型或研究项目。

 

其实,物联网的后端系统使用 .NET 和 C# 也获得了越来越广泛的应用,构建的服务后端系统可以无障碍运行在 Linux 上。

 

 

 

04

 

 

结语

 

在我看来,客观实际并不是一成不变的,而是不断向前发展变化的。C# 在全球使用人数历来排在 Top5,但很多人却认为它在国内的使用场景似乎比较稀缺,主要是因为大部分人依旧用老眼光来看问题,而不是以发展、变化的观念来看问题。最新的 C# 12 是一门既有 Python 的开发效率,又有 C/C++/Rust 性能的编程语言。

 

在 Linux 桌面市场上,以 C# 的 AvaloniaUI 补充 Window Forms 和 WPF 的跨平台需求,逐步成为 QT 的有力竞争者。在 GenAI 加持的人工智能场景下,以 Semantic kernel 项目驱动的 新的开发范式在2024年会有更多的采用者。

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
人工智能 开发框架 物联网
为什么 C# 可能是最好的第一编程语言
C# 是一个全面领域的全能型语言,结合新时代的 .NET 平台,与时俱进的发展创新,未来无限可期!对于带着有色眼镜看待的人们,是否该刮目相看了呢?下面看看行业大佬关于 .NET 的解说。
1065 2
为什么 C# 可能是最好的第一编程语言
|
6天前
|
开发框架 Java .NET
C#编程语言的优势与C++对比
C#编程语言的优势与C++对比
|
6天前
|
人工智能 Java 物联网
C# 成为 2023 年度编程语言之王!
2023 年 TIOBE 年度编程语言已经正式公布,C# 在稳居前 10 名 20 多年之久后,首次摘下年度编程语言桂冠。TIOBE 数据显示,C# 在 2023 年的涨幅达 1.43%,远超过竞争对手 Scratch 的 0.83% 和 Fortran 的 0.64%。
177 1
C# 成为 2023 年度编程语言之王!
|
6天前
|
搜索推荐 Java C#
C#有望成为2023年的编程语言之王
C#有望成为2023年的编程语言之王
C#有望成为2023年的编程语言之王
|
6天前
|
人工智能 搜索推荐 Java
C# 最有可能摘得“年度编程语言”,Python、Java 正在让位,TIOBE 12 月编程语言榜单最新预测来了!
C# 最有可能摘得“年度编程语言”,Python、Java 正在让位,TIOBE 12 月编程语言榜单最新预测来了!
33 1
|
8月前
|
机器学习/深度学习 Java C#
C# 编程语言简介
C# 是一种通用的、静态类型的编程语言,由 Microsoft 开发。它是为了构建 .NET 应用程序而设计的,同时也可以用于开发跨平台应用、游戏和桌面应用。C# 具有简洁、现代化的语法以及强大的面向对象编程特性,使得开发者能够快速高效地构建各种类型的应用。
78 0
|
9月前
|
开发框架 安全 C#
探索C#编程语言:现代开发的引领者
大家好,今天我们将深入探讨一门备受程序员欢迎的编程语言——C#(C Sharp)。C#是一种多用途、现代化的编程语言,由微软公司推出,它在软件开发领域扮演着至关重要的角色。让我们一起来了解一下C#是如何引领现代开发的!
486 0
|
存储 开发框架 Cloud Native
【C#基础】初识编程语言C#
编程语言C#和.NET平台的介绍以及如何写出自己第一个C#程序。
86 0