- By test - In 德国世界杯阵容
为什么选择.NET:打破关于微软技术栈的误解
随着技术的不断演进,很重要的一点是要保持信息的准确性与时效性。近日,一位教育博主马某兵在Bilibili对.Net技术栈发表了一些负面评论,主要观点是认为.Net仅仅是微软的闭源技术栈。
马某的视频:https://m.bilibili.com/video/BV1494y187kH
C# 在一年内增长了+2.38%,今天,我们将对这一误解进行澄清,并分享为什么.Net是一个强大且开放的技术选择。
.NET 的开源之路
首先,让我们说清楚一个事实:.Net已经不是纯粹的闭源微软技术栈了。自2014年,核心部分的.Net Framework代码被开放为了开源项目。继而,我们看到了.Net Core的诞生,它是完全开源的,并且支持跨平台。可以在GitHub上找到.Net Core、ASP.Net Core以及其他一些相关项目的代码,并且社区可以自由地参与到这些项目的贡献中。
C# :https://github.com/dotnet/csharplang
Roslyn:https://github.com/dotnet/roslyn
Runtime:https://github.com/dotnet/runtime
.Net已经发展成为一个真正跨平台的框架,打破了原有的平台限制,扩大了其应用的可能性。在服务端领域,.Net Core提供了一个轻量级、高性能、模块化的框架,它支持各种应用类型,比如:Web应用、微服务、云服务和后台服务。因为.Net Core是设计来运行在多个平台上的,开发者可以在Windows、Linux和macOS上构建和部署服务端应用程序,使得.NET平台能够服务于更广泛的服务器和数据中心环境。
在客户端应用方面,.Net提供了多种选择,其中包括:
MAUI (Multi-platform App UI):MAUI是.Net 6推出的一项新技术,目标是简化跨平台UI开发。使用MAUI,开发者可以使用单一代码库开发适用于Windows, macOS, Android和iOS的应用。MAUI承诺提供原生的应用性能和用户体验,并且提供丰富的控件库和布局系统。
Avalonia:Avalonia是一个开源的跨平台UI框架,它允许开发者使用XAML和C#来创建跨平台的桌面应用程序。它支持Windows, Linux, macOS以及其他操作系统,并且正在拓展对移动操作系统的支持。
这两种技术都是开源的,开发者可以查看代码,为项目做出贡献,并且根据自己的需求对其进行定制。
对于前端开发,Blazor框架提供了一种全新的方法,让.Net开发者可以使用C#来编写Web应用的前后端。Blazor利用WebAssembly技术运行在浏览器中,允许将C#代码编译为浏览器可以直接执行的格式。这意味着开发人员可以使用C#开发交互密集的客户端Web应用程序,同时还可以在服务端运行C#代码,这使得全栈开发更为便捷且高效。Blazor的这种能力使得.Net开发者可以借助一套技术栈,即使用.Net来完成一个项目的全部开发工作,进一步提升了开发的连贯性和效率。
展开全文
因此,.Net现在提供了一个多样化的开发生态系统,无论是在服务端、客户端还是全栈开发上,都赋予了开发者极大的灵活性和控制能力。这一跨平台特性不仅降低了开发复杂性,还提高了应用程序的可访问性和前瞻性。
强大的生态系统和社区
.Net拥有一个日益壮大的开发者社区和生态系统,从企业级应用到开源库,各种资源一应俱全。Microsoft和其他开源贡献者一直在不断地增强.Net平台的特性和性能。此外,有Visual Studio和Visual Studio Code等强大的工具以及NuGet包管理器可以帮助开发者提高效率并简化开发流程。
在今年的.Net Conf China 2023大会上,openEuler和龙芯中科也都分享了社区与.Net集成的一些支持,.Net如今不仅是跨平台的,也是满足国产信创需求的。
持续的创新和进步
随着今年.Net 8 的发布代表了.Net进入统一和简化的下一阶段。这些版本继续支持跨平台,并且引入了许多改进,如更高的性能、更好的容器支持,以及对现代化应用程序开发的进一步投入。微软对.Net的持续投入证明了它在技术栈中的重要性,并且保证了它会不断地适应新的软件开发挑战。
在人工智能(AI)和机器学习(ML)领域,.Net 也在不断扩展其功能。例如,ML.Net 是一个开源和跨平台的机器学习框架,允许.NET开发者在自己熟悉的环境中直接构建和集成机器学习模型。这意味着.NET不仅适用于传统应用程序开发,也可以轻松地进入到精准数据分析和预测等复杂领域。
另外,关于AI的最新进展,像 Semantic Kernel 这样的概念,是指用于大模型中的一个抽象层,可以快速的接入大模型处理和理解自然语言的语义。包括编程和软件开发中得到了应用,有助于智能化应用和与用户交流等任务。
.Net 与 AI 结合的可能性是巨大的,未来可期。通过结合.Net 的跨平台能力和AI的智能处理能力,开发者能够设计和部署功能更加智能和自动化的应用程序。这些应用能够提供更丰富的用户体验,更高的运行效率,并能够处理大量的数据和复杂的计算任务。随着.Net 在AI领域中的进一步整合,我们可以预见到更多以AI能力为核心的创新应用和服务将不断出现,进一步推动软件行业的变革和发展。
结语
错误地对待.Net并将其贬低为闭源且局限的技术是不公正的,这也忽视了该平台近年来所做出的开放和跨平台的努力。作为开发人员,我们是走在信息技术前沿的人,我们应该基于准确和最新的信息做出决策。选择技术栈应该基于客观评估技术的能力、生态系统、社区支持以及未来的发展潜力。在许多情况下,选择.Net都是理性和有见识的决定。
在信息迅速更迭的时代,我们鼓励实事求是的态度,并期待一个基于知识和事实的健康技术讨论环境。让我们共同促进一个更加开放、合作和创新的软件开发未来。返回搜狐,查看更多

