共计 2389 个字符,预计需要花费 6 分钟才能阅读完成。
从 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 浏览器和瘦客户端上可用的长处。