您当前的位置: 首页 >  .net

.NET 20周年软件趋势随想

微软技术栈 发布时间:2022-02-18 12:30:00 ,浏览量:5

从2000年微软启动 .NET 战略时,我还是一位大学生,当年著名的黑客 Miguel de Icaza, Miguel 为了寻找 GNOME 项目开发框架经过充分的调研启动了一个志存高远的项目:Mono,一个 Microsoft .NET Framework 的自由 GNU/Linux 实现,我在国外的 Linux 论坛上 循着 Miguel 的指引踏上了 .net 开发之路, 我开始接触 .NET Framework 的时候还是 beta 阶段,2002年2月13日微软发布了 .NET 1.0,我也毕业工作半年时间,开始使用 ASP .NET 1.0开发项目, 今天我已经伴随 .NET 发展20年,在此 .NET 20年之际有感而发写下这些感想。

在这20年间发生了巨大的变化,微软一直能够与时俱进,2000年的市值第二,2022年照样排名第二,这期间微软也是经历了起起伏伏,作为微软最重要的一个开发者平台产品一样经历了起伏,就像微软的股票一样。

从2000年到2014年微软让 .NET Framework 作为 Windows 的一部分,微软也站在开源的对立面,最经典的就是 Steve Ballmer,他当初曾将“开源”称作微软知识产权毒瘤。2014年之后微软换了 CEO,全面拥抱Linux,.NET Core 开源,收购 Xamarin,构建起了全新的生态,微软的重心转移到了云,微软算是抓住了云计算时代,2017年微软市值已经增长到了5000亿美金,2022年已经是2.3万亿美金。从2014年开始的演变,支持多平台,并提供给各种操作系统,如 Linux,Mac,iOS 和 Android 等。它涵盖广泛的应用程序,从桌面、Web 应用程序、云、移动、游戏、IoT 到 AI。

Windows 这个操作系统, 主要是以桌面为中心的用途, 从某种意义上说, 是为了提高特定环境下的开发效率而开始的,在 .NET 第 20 年终于达到了"所有应用的统一平台"的高度。  虽然 MAUI(不是 GA )存在一些滞后,今年第二季度也会 GA,随着 .NET 6 的发布,One .NET 愿景已经实现。

其实在 NET Framework 发布之前,微软从 COM 时代起就一直梦想着多平台。微软可以算是一家坚韧不拔的公司, 经过20年的不懈努力,反复试验和试错,这其中也有不少是错误的,甚至现在可以感受到社会上的很多的软黑曾经是软粉,也许包容不下微软的坚韧不拔。经过各种反思和20年的时光, 现在最重要的是开发者, 以开放为目标, 经过深思熟虑,回归服务好开发者。

.NET Framework、. NET Core 和 Xamarin 的统一,.NET 6 完成了统一 .NET 愿景,统一了 SDK 、类库和工具链,这些工具链以前是不同的,支持跨平台本机和 Web UI 。愿景还包括云原生,Microsoft 计划为所有现代工作负载提供最佳解决方案。.NET 为所有开发人员提供了更多的选择。开发者使用 .NET 上的工具和平台,无论他们选择什么,都很容易实现他们想要的。.NET 6 统一了类库和 SDK。除了发布新的 C# 10 和 F#6 外,它还支持 Apple M1 处理器。此外, 与 NET 5 不同,它还提供长期支持 (LTS),提供三年支持。

NET 在每次升级时,性能都会成为焦点。比如 NET 6 的 ASP.NET Core 网络应用程序比 Node.js 快10倍, gRpc 的 .NET 实现是性能最好的,超过了 C++ 的实现。在 .NET 6 中,还专注于加快 Web 应用程序性能,降低资源的占用,换句话说就是对云原生的投资。

现在 .NET 也是 OSS ,并且更新像任何其他 OSS 一样频繁发布。然而,在实际操作中,了解版本升级周期更容易使用,因此时间表变得清晰, 作为一家企业公司,如果 .NET 的未来计划被披露,那么就可以放心地投资 .NET 技术。从使用长期支持版本的同一版本的想法出发,很容易转向敏捷流程和思维方式,这些流程和思维将尽可能短的周期更新到新版本,而从安全应用程序开发的角度来看,现在最需要考虑的就是解决漏洞。

开源社区也有很多缺陷是因为工程运作上的问题,微软具有商业公司血统的管理科学更多融合到 .NET 开源项目中去, 将来 开源、商业、学术将结合得更加完美。

.NET 程序员的现状是:"在被迫开发各种应用的情况下,我们必须选择针对性工具和框架,当前系统正在向云转移,基础设施和服务也在发生变化,开发现场变得越来越复杂。. NET 开发人员 可以使用称为宇宙第一的 Visual Studio 集成开发环境,可在各种目标上部署您喜爱的应用,从而保持高工作效率。

NET 6 还改进了对 "ASP.NET Core Blazor" 的支持,以方便 C# 开发人员进行 Web 前端开发。Web 应用程序开发在服务器端和前端使用不同的语言和框架。前端 Web UI 基于基本的 JavaScript,通常使用框架(如 Angular、React 和 Vue)进行开发。ASP.NET Core Blazor 的职责是使能够以 C# 等语言开发前端,而无需了解 JavaScript 框架 。

ASP.NET Core Blazor 以大多数现代网络浏览器支持的 WebAssembly 为技术基础。因此,在 C# 中编写的代码以本机性能作为 WebAssembly 运行。根据创建方法,您可以使其脱机运行,也可以将其作为 PWA(主动 Web 应用)安装在计算机上,并像本机应用程序一样运行。这非常像以前的 Silverlight 或 Flash 那样在插件上运行,不一样的地方是 Blazor Wasm 使用 Web 标准 WebAssembly。

ASP.NET Core Blazor 可以将 DLL 下载到 Web 浏览器,并在 WebAssembly 上运行。由于它完全在客户端运行,因此无需服务器组件即可脱机运行,但下载大小较大。相反,它提供了一种在 Blazor 服务器上运行程序并使用称为 SignalR 的技术进行渲染的方法。这需要持久连接,UI 延迟高,但启动速度快,并且具有在较旧的 Web 浏览器和瘦客户端上可用的优点。

关注
打赏
1688896170
查看更多评论

微软技术栈

暂无认证

  • 5浏览

    0关注

    240博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0487s